如何格式化日期/时间字符串,以便DateTime.TryParseExact
使用“ U”格式字符串和DateTimeStyles.AdjustToUniversal
对其进行解析?换句话说,什么是有效的timestampString
,以便在以下代码中将isDateTime
设置为true
?
string timestampString = "...";
DateTime timestamp;
bool isDateTime = DateTime.TryParseExact(
timestampString, "U", null, DateTimeStyles.AdjustToUniversal, out timestamp);
最佳答案
这是美国文化的一个例子:
string timestampString = "Saturday, April 20, 2013 9:00:00 PM";
DateTime timestamp;
bool isDateTime = DateTime.TryParseExact(timestampString, "U", null,
DateTimeStyles.AdjustToUniversal, out timestamp);
Console.WriteLine(isDateTime); // True
Console.WriteLine(timestamp); // 4/20/2013 9:00:00 PM
Console.WriteLine(timestamp.Kind); // Utc
如MSDN Library中Standard Date and Time Format Strings主题下所述,“ U”表示由DateTimeFormatInfo.FullDateTimePattern属性定义的格式,并自动转换为UTC。对于美国英语,此格式为
"dddd, MMMM d, yyyy h:mm:ss tt"
。