[英]Unable to parse date and time separately
我有以下代碼,這些代碼從SQL數據讀取器讀取數據並將其放入集合中。
while (sdr.Read())
{
itemFeed.Add(new Item
{
itemTypeId = (int)sdr.GetValue(0),
itemDate = (DateTime)sdr.GetValue(5), //Incoming: 2014-09-07
itemTime = (DateTime)sdr.GetValue(6), //Incoming: 21:29:18.1030000
});
i++;
}
問題是,當2014-09-07
的傳入值轉換為日期時間時,它會自動為其添加時間,並變為2014-09-07T00:00:00
,並且由於無效格式,轉換時間失敗。
我知道這是因為它是一個日期時間對象,但是.net中又沒有單獨的日期和時間對象,所以我怎樣才能分別解析它們呢?
您可能應該在數據庫中存儲單個datetime
(或datetime2
),而不是單獨的date
和time
字段。 但是要解決轉換問題,請考慮將SQL Server中的time
映射到.NET中的TimeSpan
。
var date = (DateTime)sdr.GetValue(5);
var time = (TimeSpan)sdr.GetValue(6);
var dateTime = date.Add(time);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.