日期时间格式问题
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 ,这有什么问题吗?
首先,您不应在数据库中以文本形式存储或获取日期。
然而,对于您的具体问题,MM
和 dd
是月份和日期的两位数。显然您的日期文本不使用仅两位数的变体,因此使用 M
和 d
。此外,HH
采用 24 小时制。使用 tt
,即 AM/PM,意味着 而不是 具有 24 小时制,因此您需要使用 hh
。
有关更多信息,请查看 MSDN 自定义 date/time 格式。
我有如下字符串
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 ,这有什么问题吗?
首先,您不应在数据库中以文本形式存储或获取日期。
然而,对于您的具体问题,MM
和 dd
是月份和日期的两位数。显然您的日期文本不使用仅两位数的变体,因此使用 M
和 d
。此外,HH
采用 24 小时制。使用 tt
,即 AM/PM,意味着 而不是 具有 24 小时制,因此您需要使用 hh
。
有关更多信息,请查看 MSDN 自定义 date/time 格式。