TryParse特殊日期格式

时间:2011-04-28 10:08:35

标签: c# datetime

我尝试从外部系统解析日期时间戳,如下所示:

DateTime expiration;
DateTime.TryParse("2011-04-28T14:00:00", out expiration);

不幸的是,它无法识别。我怎样才能成功解析这个?

sl3dg3

5 个答案:

答案 0 :(得分:12)

DateTime.TryParseExact中指定所需的确切格式:

DateTime expiration;

string text = "2011-04-28T14:00:00";
bool success = DateTime.TryParseExact(text,
                                      "yyyy-MM-ddTHH:mm:ss",
                                      CultureInfo.InvariantCulture,
                                      DateTimeStyles.None,
                                      out expiration);

答案 1 :(得分:2)

您可以改为使用DateTime.TryParseExact

How to create a .NET DateTime from ISO 8601 format

答案 2 :(得分:2)

试试这个

DateTime expiration;
DateTime.TryParse("2011-04-28 14:00:00", out expiration); 

不使用“T”。

答案 3 :(得分:1)

您需要在字符串参数中添加“00000Z”。

DateTime.TryParse("2011-04-28T14:00:0000000Z", out expiration);

答案 4 :(得分:1)

用户DateTime.TryParseExact的功能如下:

DateTime dateValue;

if (DateTime.TryParseExact(dateString, "yyyy-MM-ddTHH:mm:ss", 
                              new CultureInfo("en-US"), 
                              DateTimeStyles.None, 
                              out dateValue))
{
    // Do Something ..
}

了解DateTime