如何使用linq从datetime列中仅获取Date

时间:2011-04-21 17:39:05

标签: asp.net linq linq-to-sql asp.net-mvc-2

我在数据库中有一列作为EffectiveDate

这是DateTime的类型。

我有一个linq查询从表中获取EffectiveDate。但是当我得到时,我会随着时间的推移获得EffectiveDate。

但在我的linq查询中,我只需要Date,我不想要时间为EffectiveDate。

如何编写Linq查询?

由于

1 个答案:

答案 0 :(得分:11)

在任何Date结构

上调用DateTime属性
EffectiveDate.Date;

或致电

EffectiveDate.ToShortDateString();

或在调用ToString() 更多日期时间格式here时使用“d”格式。

EffectiveDate.ToString("d");

编写Linq查询可能如下所示:

someCollection.Select(i => i.EffectiveDate.ToShortDateString());

如果EffectiveDate可以为空,您可以尝试:

someCollection
    .Where(i => i.EffectiveDate.HasValue)
    .Select(i => i.EffectiveDate.Value.ToShortDateString());

DateTime.Date Property

  

与此实例具有相同日期的新对象,时间值设置为午夜12:00:00(00:00:00)。

DateTime.ToShortDateString Method

  

包含当前DateTime对象的短日期字符串表示形式的字符串。