前言
今天,前台頁面傳JSON字符串,后台接口以JObject接收數據。發現,在日期轉換的過程中出現以下問題:
該字符串未被識別為有效的 DateTime。
產生錯誤原因
查看代碼,發現,在實體類中日期類型是可空的。同時,前台傳給后台的日期是也是空的。導致后台使用Convert.ToDateTime()進行轉換時,出現以上的問題。
實體:
public Datetime? mdate { get; set;}
后台轉換:
md.mdate=Convert.ToDateTime(data["mdate"]);
解法方案
寫一個方法去判斷日期類型的方法。代碼如下:
public DateTime? GetDate(string mdata) {
if (!string.IsNullOrEmpty(mdata))
{
return Convert.ToDateTime(mdata);
}
return null;
}
每次轉換之前對日期進行判斷即可;
md.mdate=GetDate(data["mdate"].ToString());
