DateTimeOffset ParseExact - 字符串未被识别为有效的DateTime

时间:2014-03-14 21:58:35

标签: c# datetimeoffset

我正在尝试使用14.03.2014 22:16:23解析此日期DateTimeOffset.ParseExact,但我得到String was not recognized as a valid DateTime

我已经尝试过:

DateTimeOffset.ParseExact("14.03.2014 22:16:23", "G", new CultureInfo("en-US"))

1 个答案:

答案 0 :(得分:1)

您需要定义自定义格式模式,如;

var date = DateTimeOffset.ParseExact("14.03.2014 22:16:23",
                                     "dd.MM.yyyy HH:mm:ss",
                                      new CultureInfo("en-US"));

输出将是;

3/14/2014 10:16:23 PM +00:00

这里有 demonstration

来自documentation;

  

格式说明符,用于定义预期的输入格式

您的G format specifier在这种情况下不起作用,因为它是standar date and time format。如果你真的想使用它,你可以这样做;

例如;

var off  = DateTimeOffset.Parse("14.03.2014 22:16:23");
Console.WriteLine(off.ToString("G"));