2011-10-27 62 views
1

我有一個字符串需要轉換並驗證爲DateTime。該字符串是按以下格式「DD.MM.YY」 我試圖將其轉換爲DateTime使用以下日期時間格式C#

string format = "dd.mm.yy"; 
date = DateTime.ParseExact(current.Substring(aiRule.AiLength), format, 
              CultureInfo.InvariantCulture); 

可惜失敗。 問題是如何將格式爲'dd.mm.yy'的字符串轉換爲DateTime? 謝謝

+0

你能顯示你的輸入字符串和結果:current.Substring(aiRule.AiLength)? –

+0

作爲一般規則,說「X失敗」並不能幫助幫助你的人。嘗試具體 - 給出輸入示例,預期輸出,實際輸出或錯誤消息。 –

回答

11

mm表示「分鐘」。我懷疑你想要"dd.MM.yy"。有關custom date and time format strings的更多信息,請參閱MSDN。

(尤其是閱讀有關"yy" specifier的組成部分,如何選擇使用哪一個世紀。如果你都不可能改變輸入使用四位數年份,能爲您節省一些問題...)

0

我會告訴一些「異端」的東西。如果dd.MM.yy(與2或4 yy)是您當地文化的格式,那麼您可以讓DateTime.Parse(而不是ParseExact!)完成工作,但不將其設置爲CultureInfo.InvariantCulture,或者將其設置爲new CultureInfo("it-IT")等本地文化。

0

字符串格式應該是這樣的....

string Format = "dd.MM.yy" 


mm is for showing minutes 

MM is for showing months.. 

我希望它會幫助你...

0

正如前面的帖子已經指出的那樣,意味着毫米分鐘,MM指月。我跑了這個測試片段,它如預期的那樣工作:

string format = "dd.MM.yy"; 
string date = "27.10.11"; 
DateTime result; 
result = DateTime.ParseExact(date, format, CultureInfo.InvariantCulture);