【发布时间】:2020-06-15 13:50:55
【问题描述】:
我有一个日期时间作为字符串 2020-05-14T13:37:49.000+0000,我需要使用 C# 转换为 DateTime。
什么是有效的格式? yyyy-MM-ddTHH:mm:ss.FFFZ我错了
[TestMethod]
public void DateTime_Iso8601_is_ok()
{
var f = "2020-05-14T13:37:49.000+0000";
string format = "yyyy-MM-ddTHH:mm:ss.FFFZ";
DateTime d;
DateTime.TryParseExact(f, format, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal, out d);
//FileHelpers.ConvertException: Error Converting '2020-05-14T13:37:49.000+0000' to type: 'DateTime'.
//There are more chars in the Input String than in the Format string: 'yyyy-MM-ddTHH:mm:ss.FFFZ'
}
【问题讨论】:
-
@xdtTransform 与
2020-05-14T13:37:49.000+0000不同2020-05-14T13:37:49+0000 -
在调试过程中,您必须尝试
"yyyy-MM-ddTHH:mm:ss.FFF"反对没有 +0000 部分的日期。将问题标识为最后一个 +0000。这部分是一个常见问题,因为 MSDN 声明 z、zz、zzz 格式将分别显示 +6、+06、+06:00。没有:,文档没有说明+0000。这几乎是一个自然错误