2013-08-27 80 views
-6

enter image description here錯誤: - 字符串未被識別爲有效日期時間

請與我聯繫,如何處理此錯誤。 :(我已經嘗試了很多方法,但他們都不能解決它。

+0

你讀過[文檔](http://msdn.microsoft.com/en-us/library/9xk1h71t.aspx)? – Sayse

+12

**'六月'只能達到'30' **而不是31. –

+2

@ 491243良好的發現!和OP,請下次將您的代碼作爲文本粘貼,而不是作爲圖像。 –

回答

1

試試這個,告訴我它是否有效,請更改06/31到06/30六月只有30天謝謝

this.Text="30/06/2013";  
DateTime date = DateTime.ParseExact(this.Text, "dd/MM/yyyy",CultureInfo.InvariantCulture); 
+0

我把無效的日期。這是錯誤。謝謝:) – tishantha

+1

不變的文化是['CultureInfo.InvariantCulture'](http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.invariantculture.aspx)而不是'CultureInfo.InvariantInfo'; - ) –

+0

@TimSchmelter謝謝。 – user2705620

0

你必須改變"2013/06/31""2013/06/30"自6月份以來只有30天(如其他已經提到)。

但你還需要使用ParseExactCultureInfo.InvariantCulture,否則當前的文化是用來獲取日期分隔符不一定/(在很多國家它是.)。

所以這works與任何文化:

DateTime.ParseExact("2013/06/30", "yyyy/MM/dd", CultureInfo.InvariantCulture) 

The "/" Custom Format Specifier

如果您想驗證一個給定的日期字符串,你可以使用DateTime.TryParseExact

DateTime dt; 
if(DateTime.TryParseExact("2013/06/31", "yyyy/MM/dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)) 
{ 
    // success, dt contains the correct date now 
} 
else 
{ 
    // not a valid date 
} 
+0

謝謝.. :)無效日期「2013/06/31」。這是錯誤。 – tishantha

+0

@ user2549153:請注意,您應該使用'DateTime.TryParseExact'來檢查日期是否有效。相應地編輯[我的答案](http://stackoverflow.com/a/18459191/284240)。 –

相關問題