如何在.NET中将此字符串格式化为DateTime

Vla*_*žić 1 .net c# datetime

这是我试过的:

string format = "yyyy-MM-dd'T'HH:mm:ss";
DateTime parsedDateTime;
if (DateTime.TryParseExact(reader.Value.ToString(),format, null, 
              System.Globalization.DateTimeStyles.None, out parsedDateTime))
{
    return parsedDateTime;
}
Run Code Online (Sandbox Code Playgroud)

这里reader.Value.ToString()

2017-05-01T00:00:000

Mon*_*Zhu 5

您的问题是字符串中的秒数为3位数:

2017-05-01T00:00:000

秒的范围是 [0:59]

要么是毫秒,那么您需要将格式调整为:

string format = "yyyy-MM-ddTmm:ss:fff";
Run Code Online (Sandbox Code Playgroud)

或者字符串完全错误,你应该删除第三个数字.这是一个工作示例:

string format = "yyyy-MM-ddTHH:mm:ss";
DateTime parsedDateTime;
if (DateTime.TryParseExact("2017-05-01T00:00:00", format, null,
      System.Globalization.DateTimeStyles.None, out parsedDateTime))
{
     Console.WriteLine(parsedDateTime.ToString());
}
else
{
    Console.WriteLine("FAIL");
}
Run Code Online (Sandbox Code Playgroud)