如何格式化日期/时间字符串,以便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"

09-25 19:01