c#中的Datetime.Tryparseexact返回错误的时间

时间:2017-03-30 09:23:03

标签: c#-4.0

c#中的datetime.tryparseexact返回错误的时间 下面的代码返回错误的时间,它返回{3/30/2017 7:34:09 PM}

DateTime.TryParseExact("March 30, 2017 2:04:09 PM", MMMM d, yyyy h:mm:ss tt, DateTimeFormatInfo.InvariantInfo, DateTimeStyles.AssumeUniversal, out time)

1 个答案:

答案 0 :(得分:2)

请勿使用AssumeUniversal。它会根据您的时区更改时间。使用0,如:

bool success = DateTime.TryParseExact("March 30, 2017 2:04:09 PM", "MMMM d, yyyy h:mm:ss tt", DateTimeFormatInfo.InvariantInfo, DateTimeStyles.AdjustToUniversal, out time);

将返回Kind == Unspecified的日期,或使用DateTimeStyles.AssumeLocal返回Kind == Local的日期。如果您确实需要Kind == Utc,请使用DateTimeStyles.AssumeUniversal | DateTimeStyles.AdjustToUniversal