DateTime解析误差为毫秒级

时间:2016-10-20 14:21:37

标签: c# parsing datetime

如何以“毫秒”为“20160803T0509 + 0100”解析日期时间。我无法更改输入日期时间格式,因为我正在通过客户端数据文件接收。

客户端在UTC iso 8601中使用偏移量

作为系统本地服务器时间

我正在使用简单的功能

 Console.WriteLine(Convert.ToDateTime("20160803T0509+0100"));

错误:

  

字符串未被识别为有效的DateTime。

3 个答案:

答案 0 :(得分:2)

我认为+0100用于时区偏移而不是毫秒

var dateTime= DateTime.ParseExact("20160803T0509+0100", "yyyyMMddTHHmmzzz", CultureInfo.CurrentCulture);

答案 1 :(得分:1)

使用DateTime.ParseExact代替

DateTime result = DateTime.ParseExact("20160803T0509+0100", "yyyyMMddTHHmm+ssff", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);

答案 2 :(得分:0)

只需使用此

即可
DateTime dt = DateTime.ParseExact("20160803T0509+0100", "yyyyMMddTHHmmzzz", CultureInfo.InvariantCulture);