簡體   English   中英

無法分別解析日期和時間

[英]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 ),而不是單獨的datetime字段。 但是要解決轉換問題,請考慮將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.

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