var timestamp = DateTime.ParseExact("20140101T000000Z", "YYYYMMDDThhmmssZ", CultureInfo.InvariantCulture);
System.FormatException was unhandled by user code
HResult=-2146233033
Message=String was not recognized as a valid DateTime.
Source=mscorlib
这对我来说毫无意义,因为YYYYMMDDThhmmssZ
是ISO-8601 YYYY-MM-DDThh:mm:ssZ
,并删除了特殊格式字符。
答案 0 :(得分:5)
问题是YYYY
和DD
不是有效的格式说明符。请改用yyyy
和dd
,如果您想使用24小时制,请使用HH
:
var timestamp = DateTime.ParseExact("20140101T000000Z", "yyyyMMddTHHmmssZ", CultureInfo.InvariantCulture);
另请注意,Z
此处被解释为文字Z
字符。它不能替代时区说明符z
。
进一步阅读
答案 1 :(得分:1)
您的日期格式不正确。
YYYY
应为yyyy
而DD
应为dd
以下完整格式应该有效
yyyyMMddTHHmmssZ
,例如
var timestamp = DateTime.ParseExact("20140101T000000Z", "yyyyMMddTHHmmssZ", CultureInfo.InvariantCulture);
MSDN对于自定义格式:http://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx