c# 4.0 -在LINQ中只提取datetime中的日期部分



我们在DataTable中有一些数据,我们正在使用这样的查询来获得我们需要的数据。

IEnumerable<Results> subResult = from query in datatable.AsEnumerable()
                             select new Results
                                  {
                                      Name = query.Field<string>("Name"),
                                      Date = query.Field<DateTime?>("Date")
                                  }

上面的查询返回我需要的但是完整格式的日期(例如:m/dd/yyyy hh:min:sec am/pm),但我们只需要它的日期部分(只需要输入mm/dd/yyyy)。当我在看这个的性质时,找不到一个隐含的方法来得到它,请帮我得到这个结果。谢谢。

DateTime类具有您刚才提到的所有属性。您应该尝试使用ToString("anyformatyouwant")格式来修复您的显示。

这个怎么样?

Date = query.Field<DateTime?>("Date").Date

这将只给你日期部分:

IEnumerable<Results> sub-result= from query in datatable.AsEnumerable()
    where new Results
    {
        Name = query.Field<string>("Name"),
        Date = query.Field<DateTime?>("Date").Date
    }

然而,如果你只是想在某个地方显示日期(这意味着你不使用它来进行日期分组等),那么我只需在你的UI层指定显示格式

AFAIK没有日期类在。net中,如果你想要纯日期你应该写一个类,否则你可以拉出部分作为一个字符串

DateTime.Now.Date.ToString("yyyy/MM/dd")

为您提供字符串类型的当前日期,但如果您获得.Date部分,它将为您提供DateTime对象,该对象仍有显示AM 12:00:00:0 blah blah的时间部分

相关内容

  • 没有找到相关文章

最新更新