簡體   English   中英

一個DateTime可以很好地解析,但另一個不是嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM