我对日期时间格式有疑问 我有一个字符串,代表我的日期时间: “2014-08-01T10:12:11.0Z”。实际上,据我所知,它是一个utc格式的日期时间,因为'Z'显示我偏离UTC。
然后我尝试执行
DateTime.TryParseExact("2014-08-01T10:12:11.0Z", "yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out value_);
(其中value_只是我新创建的DateTime对象)只是为了检查我的字符串是否代表UTC时间。这个表达给了我“假”。
所以,我想知道,我应该通过什么格式代替“yyyy-MM-ddTHH:mm:ssZ”或者我应该改变别的东西?
答案 0 :(得分:1)
该字符串末尾的.0
为十分之几秒,因此您需要为其添加一个解析字符:F
。
此外,Z的解析字符为K
,而不是Z
。
因此,要解析该字符串,您需要执行此操作:
DateTime.TryParseExact("2014-08-01T10:12:11.0Z", "yyyy-MM-ddTHH:mm:ss.FK", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out value);
另请注意,如果您希望解析字符串中的时区信息(即,如果它不是UTC时间),那么将Z
替换为时区偏移,+ ve或-ve:
"2014-08-01T10:12:11.0-07:00" // Note time zone offset at the end.