问题描述
我有一个格式为“MM-dd-YY hh:mmtt”的日期时间字符串。例如:02-23-21 09:23PM。我正在尝试将其转换为 C# 中的 DateTime 对象。我正在使用 DateTime.TryParseExact() 但它一直失败。
这是我如何转换它:
var myDateTime = new DateTime();
var success = DateTime.TryParseExact(
"02-23-21 09:23PM","MM-dd-YY hh:mmtt",CultureInfo.InvariantCulture,DateTimeStyles.None,out myDateTime
);
TryParseExact() 不断返回 false 并且 myDateTime 不断出现 {0001-01-01 12:00:00 AM}
。
谁能看出我做错了什么?
解决方法
您的年份格式有误 - yy
是正确的:
var success = DateTime.TryParseExact(
"02-23-21 09:23PM","MM-dd-yy hh:mmtt",CultureInfo.InvariantCulture,DateTimeStyles.None,out myDateTime
);
来自docs:
“yy”自定义格式说明符将年份表示为两位数