我有一个类型为DateTime的字段。
在插入记录时,我也会在现场提供时间。
使用LINQ读取该字段时,它将返回正确的日期,但时间值具有默认值12:00:00 AM
在数据库中,我有每个记录的日期和时间值是正确的。问题是当使用LINQ读取/数据绑定时,时间会更改为默认值。
dataGridView1.DataSource = IQueriableObject.Select(q => new
{AppointmentTime = q.AppointmentTime.Value.Date.TimeOfDay}) ;
有什么解决方案来提取时间部分?
答案 0 :(得分:6)
这就是伤害你的事情
AppointmentTime = q.AppointmentTime.Value.Date.TimeOfDay
执行q.AppointmentTime.Value.Date
时,它只获取值的日期部分,默认情况下,TimeOfDay
上的Date
属性为凌晨12:00:00。
相反,您应该执行q.AppointmentTime.Value.TimeOfDay
(这仅在值为DateTime
类型时才有效。)