0

我已经尝试了所有方法,但不确定为什么字符串日期没有转换为日期时间。

string windowsTime = "2/21/2009 10:35:14 PM"
DateTime time = DateTime.ParseExact(windowsTime, "MM/dd/yyyy hh:mm:ss tt", null);

我使用过 DateTime.Parse、ParseExact、Convert.ToDatetime。但没有任何效果,我得到“字符串未被识别为有效的日期时间。”。

有人可以告诉我我做错了什么吗?

4

2 回答 2

2

由于月份只有一位数字,这是正确的M。您还必须使用CultureInfo.InvariantCulture代替null(表示当前文化)。否则,所有内容都/将替换为您当前文化的实际日期分隔符(对我de-DE来说是.):

DateTime time = DateTime.ParseExact(windowsTime, "M/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);

自定义日期和时间格式字符串:“/”自定义格式说明符

于 2013-10-23T07:46:09.393 回答
1

如 MSDN 中所述

“MM” 月份,从 01 到 12。更多信息:“MM”自定义格式说明符。

自定义日期时间

于 2013-10-23T07:42:43.510 回答