2015-11-13 36 views
-1

我有一个非常简单的linq statemnt从数据库中提取记录,我只是想知道如何从此删除时间部分?尝试了很多方法,包括.ToShortDateString,但它没有从SQL数据库正确格式化,它只是添加了我能看到的数字。以下是我的Linq声明。如何从我的日期时间显示中删除时间部分

MSCDatabaseDataContext MSCDB = new MSCDatabaseDataContext(); 
      var q = from row in MSCDB.Tbl_Campaigns 
        select new Campaign 
        { 
         CampaignID = row.CampaignId, 
         CampaignName = row.CampaignName, 
         Target = Convert.ToInt32(row.Target), 
         Discount = Convert.ToInt32(row.Discount), 
         CampaignStartDatesS = Convert.ToDateTime(row.StartDate) + " - " + Convert.ToDateTime(row.EndDate), 
         //CampaignSDate = Convert.ToDateTime(row.StartDate), 
         //CampaignEDate = Convert.ToDateTime(row.EndDate), 
         CurrentStatus = row.EndDate >= DateTime.Now && row.StartDate <= DateTime.Now ? "Active": row.StartDate >= DateTime.Now ? "Pending": row.CampaignStatus == 4 ? "Archived": "Closed", 
         Uptake = Convert.ToInt32(row.Uptake), 

        }; 

帮助将不胜感激。

+1

你在找这样的事情https://msdn.microsoft.com/en-us/library/system.data.entity.dbfunctions.truncatetime(v=vs.113).aspx – DaCh

回答

2

使用Date属性。

var today == DateTime.Now.Date; // there is a DateTime.Today as well, which does the same 

获取此实例的日期部分。

返回值

DateTime用相同的日期作为这种情况下,并设置为12:00:00午夜(00:00:00)的时间价值。

+0

谢谢你天才。 –

相关问题