2013-10-23 91 views
0

我已經嘗試了所有的方式,但不知道爲什麼字符串日期沒有轉換爲日期時間。在C#中的日期時間解析異常#

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。 但沒有任何工作,我得到「字符串未被識別爲有效的日期時間。」。

有人可能會建議我做錯了什麼?

回答

1

通過12的更多信息在MSDN

「MM」 月份指定,從01:在 「MM」 自定義 格式說明。

Custom Datetime

+0

我知道MM是一個月,但我在做什麼嗎? – mmssaann

+0

@mmssaann 2/21/2009 - > 2不是你指定的MM格式。它應該是02 – DevEstacion

+0

簡而言之,* MM *需要兩位數字。沒有更多,不少。 – Suncat2000

2

由於本月只有一個數字,這是正確的M。 您還必須使用CultureInfo.InvariantCulture而不是null(意味着當前文化)。否則,所有/將與您的當前區域性的實際日期分隔符來代替(我de-DE.):

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

Custom date and time format strings: the "/" Custom Format Specifier