2010-09-06 69 views
1
DateTime frm_datestart = DateTime.Parse(dateStart.Text); 

此行引發錯誤:C#字符串爲DateTime

Exception Details: System.FormatException: String was not recognized as a valid DateTime.

當輸入的字符串是從jQuery的UI,例:

09/29/2010 
09/30/2010 

任何人都知道正確的格式應該是什麼?我很驚訝這是行不通的:S

+2

可能的重複http://stackoverflow.com/questions/2188585/convert-string-to-date-in-net – 2010-09-06 10:33:34

+0

可能重複的[Convert String to Datetime C#](http://stackoverflow.com/questions)/3616133/convert-string-to-datetime -c) – Giorgi 2010-09-06 10:40:10

回答

4

您可以使用DateTime.Parse()方法的重載版本,該方法接受第二個DateTimeFormatInfo參數。

System.Globalization.DateTimeFormatInfo dti = new System.Globalization.DateTimeFormatInfo(); 
dti.ShortDatePattern = "MM/dd/yyyy"; 
DateTime dt = DateTime.Parse(dateStart.Text, dti); 
+0

完美,謝謝! – 2010-09-06 10:40:09

0
val = dateStart.Text.ToString("yyyy-M-d HH:mm:ss"); 
+0

這可能不會編譯(沒有'String'的'ToString'覆蓋'String'作爲參數)。 – 2010-09-06 10:37:56

3

尋找DateTime.ParseExact方法。

0

與DateTime.ParseExact()方法的問題在以前的答案是,它在某些文化中失敗建議。因此,您的應用程序可能無法在某些操作系統上正確運行。

如果您確定dateStart.Text始終採用相同的格式(即en-US),您可以嘗試傳遞適當的CultureInfo作爲第二個參數。格式「MM/dd/yyyy」使用CultureInfo.InvariantCulture。