日期时间格式问题

DateTimeFormat issue

我有如下字符串

1/1/1970 12:00:00 AM

我想要 yyyy-MM-dd 格式(在本例中为 1970-01-01) 我的解析代码是

var actualDate = DateTime.ParseExact(actualValue,"MM/dd/yyyy HH:mm:ss tt",CultureInfo.InvariantCulture).ToString("yyyy-MM-dd");

但我一直收到错误消息,该字符串未被识别为有效的日期时间。 我查看了我的变量 actualValue 并且它是 DateTime 类型,所以我认为问题出在格式 MM/dd/yyyy HH:mm:ss tt ,这有什么问题吗?

首先,您不应在数据库中以文本形式存储或获取日期。

然而,对于您的具体问题,MMdd 是月份和日期的两位数。显然您的日期文本不使用仅两位数的变体,因此使用 Md。此外,HH 采用 24 小时制。使用 tt,即 AM/PM,意味着 而不是 具有 24 小时制,因此您需要使用 hh

有关更多信息,请查看 MSDN 自定义 date/time 格式。