在.NET中使用TryParseExact匹配2021-03-04T17:00:0s.000Z的格式问题
解决.NET中解析"2021-03-04T17:00:0s.000Z"的格式问题
你的代码存在两处关键问题导致解析失败,修正后的代码及格式字符串如下:
var dateValue = "2021-03-04T17:00:0s.000Z"; string pattern = "yyyy-MM-dd'T'HH:mm:s's'.fff'Z'"; DateTime parsedDate; var success = DateTime.TryParseExact(dateValue, pattern, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.AdjustToUniversal, out parsedDate);
关键修正说明:
- 将格式中的
hh替换为HH:hh是12小时制格式符,无法匹配17这种24小时制的小时数,HH才是24小时制的正确格式符。 - 指定
CultureInfo.InvariantCulture:避免系统区域设置差异影响解析规则,保证格式匹配的一致性。 - 加入
DateTimeStyles.AdjustToUniversal:对应字符串末尾的Z(UTC标识),将解析结果转换为UTC时间。
内容的提问来源于stack exchange,提问作者dx4100
相关产品推荐
相关产品推荐

