C# 转换字符串2020-05-14T13:37:49.000+;0000到DateTime使用的格式
我有一个日期时间字符串2020-05-14T13:37:49.000+0000,我需要使用C#转换为日期时间 哪种格式有效yyyy-MM ddTHH:MM:ss.FFFZ我错了C# 转换字符串2020-05-14T13:37:49.000+;0000到DateTime使用的格式,c#,json,datetime,format,C#,Json,Datetime,Format,我有一个日期时间字符串2020-05-14T13:37:49.000+0000,我需要使用C#转换为日期时间 哪种格式有效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.FFF
[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'
}
您应该使用,因为它表示时区偏移
string format=“yyyy-MM-ddTHH:MM:ss.FFFK”;
或者,这意味着有符号时区偏移
string format=“yyyy-MM-ddTHH:MM:ss.FFFzzz”;
您还可以更改为AdjustToUniversal
以获取5/14/2020 1:37:49 PM
日期,否则将调整为当地时间
DateTime d;
DateTime.TryParseExact(f,格式,CultureInfo.InvariantCulture,DateTimeStyles.AdjustToUniversal,out d);
您需要为T和Z类添加单引号
DateTime parsedDateTime;
DateTime.TryParseExact(obj, "yyyy-MM-dd'T'HH:mm:ss'Z'", null, System.Globalization.DateTimeStyles.None, out parsedDateTime);
return parsedDateTime;
相关:,@xdtTransform与
2020-05-14T13:37:49.000+0000不一样2020-05-14T13:37:49+0000
在调试期间,您必须在没有+0000部分的日期尝试“yyyy-MM-ddTHH:MM:ss.FFF”
。确定问题为最后一个+0000。这部分是一个常见问题,因为MSDN声明z、zz、zzz格式将分别显示+6、+06、+06:00。如果没有:
,文档中没有关于+0000的任何说明。这几乎是一个自然的错误