-2

我有一个如下的字符串

1970 年 1 月 1 日凌晨 12:00:00

我希望它采用 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上,这有什么问题?

4

1 回答 1

2

首先,您不应该将日期作为文本存储或获取到数据库中。

但是,对于您的具体问题,月份MMdd日期是两位数。显然,您的日期文本不使用仅两位数的变体,因此请使用Mand d。此外,HH它采用 24 小时制。使用ttAM/PM 表示没有24 小时制,因此您可能希望使用它hh

有关更多信息,请查看MSDN以了解自定义日期/时间格式。

于 2016-02-04T21:13:35.193 回答