[英]One DateTime parses fine but the other doesn't?
我有一個ASP網站,從兩個字段讀取兩個日期。
這些日期是使用JavaScript生成的,我需要讀取通行證的兩個日期之一,而另一個則不需要。 即使它們的制作方法完全相同。
因此,正如您從“即時窗口”中看到的那樣:
datepicker_start.Value
"03/10/2016"
datepicker_end.Value
"03/23/2016"
第一個解析良好,第二個則沒有:
DateTime start = DateTime.Parse(datepicker_start.Value);
DateTime end = DateTime.Parse(datepicker_end.Value);
它在結束日期引發FormatException:
DateTime.Parse(datepicker_end.Value)
拋出類型異常
System.FormatException:字符串未被識別為有效的DateTime。
我不明白為什么會這樣。 如果您除了我已經提供的東西以外還需要其他任何東西,請告訴我,因為這確實令人困惑。
DateTime.Parse
使用當前區域性設置的標准日期和時間格式。
可能您的區域性設置將dd/MM/yyyy
作為標准格式,並且由於沒有第23個月,因此第二行將引發FormatException
。
我建議將DateTime.ParseExact
與類似的自定義格式一起使用;
DateTime end = DateTime.ParseExact(datepicker_end.Value,
"MM/dd/yyyy",
CultureInfo.InvariantCulture);
例如; 如果您調試代碼,則start
時間為10月3日,而不是3月10日。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.