如何在LINQ查询中仅显示datetime字段的datepart?

时间:2012-05-17 12:57:25

标签: linq linq-to-sql datetime

我在数据库中有一个datetime字段,在检索时应该只显示没有时间的日期。你能告诉我怎么做吗?这是我写的查询:

    var queryProductEventCustomers = (from r in DbContext.ProductEventCustomers
                                      from s in DbContext.CustomerProducts
                                      where r.Customers_Id == customerID && r.Customers_Id 
                                      == s.Customers_Id && s.Products_Id == productID
                                      select new
                                            {
                                               r.Id,
                                               r.Customers_Id,
                                               r.StartTime

starttime是一个datetime字段。所以,你能告诉我怎么做吗?

4 个答案:

答案 0 :(得分:0)

只需选择日期部分:

select new
{
     Id = r.Id,
     Cust_id = r.Customers_Id,
     Date = r.StartTime.Date
}

答案 1 :(得分:0)

试试这个

select new
{
     ID = r.Id,
     CustomerID = r.Customers_Id,
     StartDate = r.StartTime.ToString("dd/MM/yyyy")
}

答案 2 :(得分:0)

使用短日期格式:

r.StartTime.ToString("d", DateTimeFormatInfo.InvariantInfo)

http://msdn.microsoft.com/en-us/library/az4se3k1.aspx

该链接向您展示如何使用所有标准日期和时间格式。

答案 3 :(得分:0)

在DateTime上使用ToShortDateString()方法。

select new
{
     Id = r.Id,
     Customers_Id = r.Customers_Id,
     Date = r.StartTime.ToShortDateString()
}