繁体   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