如何让 C# 将 MM-dd-YY hh:mmtt 识别为有效的日期时间格式?

问题描述

我有一个格式为“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”自定义格式说明符将年份表示为两位数

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...