【问题标题】:Convert a string Date to the DateTime Format?将字符串日期转换为日期时间格式?
【发布时间】:2014-09-08 19:14:50
【问题描述】:

我已经很好地研究了thisthisthis 等所有问题。但是,无论我尝试什么,我仍然会得到 Format 异常:

string DatePaid="9/5/2012";
var date = DateTime.ParseExact(DatePaid, "dd/MM/yyyy", CultureInfo.InvariantCulture);

我不知道我做错了什么?

【问题讨论】:

    标签: c# string datetime-format string-conversion


    【解决方案1】:

    编辑:

    由于您将问题的日期字符串更改为"9/5/2012",现在它可能是Day/Month/YearMonth/Day/Year,假设它是Day/Month/Year,您会因为使用dd 而遇到异常,因为这需要一天部分为两位数。所以在你的字符串中9 应该是09

    您可以使用单一的dM,它们分别适用于一位数和两位数的日期和月份部分。

    所以你的代码应该是:

    string DatePaid = "9/5/2012";
    var date = DateTime.ParseExact(DatePaid, "d/M/yyyy", CultureInfo.InvariantCulture);
    

    旧答案


    您收到格式异常是因为您的格式错误。您的格式应该是 "M/dd/yyyy" 或者如果您有一位数的日部分,则使用 d 这将解析一位数和两位数的日部分。

    string DatePaid = "9/15/2012";
    var date = DateTime.ParseExact(DatePaid, "M/d/yyyy", CultureInfo.InvariantCulture);
    

    见:Custom Date and Time Format Strings

    【讨论】:

      【解决方案2】:

      您的 MM(月)将等于 15。一年中只有 12 个月,而不是 15。

      【讨论】:

        【解决方案3】:

        像这样试试。

              string DatePaid="9/15/2012";
        
         var date = DateTime.ParseExact(DatePaid, "M/dd/yyyy", CultureInfo.InvariantCulture);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-08-10
          • 1970-01-01
          • 1970-01-01
          • 2013-12-28
          • 2018-10-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多