報錯:該字符串未被識別為有效的DateTime


報錯:該字符串未被識別為有效的DateTime

□ 背景

前端的搜索條件中包含關於時間的字符串,由jquery ui的datepicker產生時間字符串。
服務端對時間做了一次轉換:DateTime.Parse(Request["時間字段"].ToString())。
搜索的時候沒有選擇點擊datapicker,從而報錯,出錯的點停在了DateTime.Parse(Request["時間字段"].ToString())上。

□ 分析

在轉換成DateTime的時候,發生了錯誤。
MSDN上有此類異常的說明:

當某個實參的格式不符合方法的形參規范時,該方法會引發 FormatException 異常。
例如,在 System 命名空間中定義的許多數據類型都包含一個 Parse 方法,該方法采用字符串參數並將其轉換為數據類型。 如果所提供的參數的格式無法轉換,這些方法會引發 FormatException。 如果字符串參數的格式不是可識別的數字格式,Double.Parse將引發FormatException。

□ 解決方法

轉換之前,對時間是否為null或空做一下判斷:

if (!string.IsNullOrEmpty(Request["時間字段"]))
{
    var time = DateTime.Parse(Request["時間字段"].ToString());
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM