在c#中没有时间获取日期

时间:2017-09-05 07:46:48

标签: c# date time get

我的桌子上有一列“AbsenteeismDate”(type = date),当我想让行包含一个返回0行的日期时。

这是我的C#代码:

DateTime ClassDate = DateTime.Parse(lblDate.Content.ToString());
var Abs = dbs.GETAbsenteeisms.Where(a => a.AbsenteeismDate == ClassDate ).ToList();

我查了一下有问题: 数据库和“ClassDate”上的“AbsenteeismDate”不相等。

例如

AbsenteeismDate=1396-05-31

ClassDate=1396-05-31 12:00:00 AM

如何在没有时间的情况下使用DateTime类型获取日期,因为AbsenteeismDate的类型是我数据库中的日期。

抱歉,我不会说英语。

5 个答案:

答案 0 :(得分:7)

DateTime始终有一个日期和时间部分,但如果您想获得该日期的DateTime且时间值设置为午夜12:00:00(00:00:00) )使用DateTime.Date

var Abs = dbs.GETAbsenteeisms
   .Where(a => a.AbsenteeismDate == ClassDate.Date)
   .ToList();

答案 1 :(得分:2)

您只需定义日期时间,但没有时间:

string date = System.DateTime.Now.ToString("yyyy-MM-dd");

答案 2 :(得分:0)

使用Date属性:

DateTime ClassDate = DateTime.Parse(lblDate.Content.ToString());
var date = ClassDate.Date;

否则你必须转换为字符串,如下所示

var date=ClassDate.ToString("yyyy-MM-dd");

答案 3 :(得分:0)

这对我有用:

string a = DateTime.Now.ToShortDateString();
  

ToShortDateString()将当前System.DateTime对象的值转换为等效的短日期字符串表示形式。这意味着控制台输出可以是例如 2017年1月1日

答案 4 :(得分:0)

您可以通过设置日期格式来尝试这样做:

DateTime ClassDate = DateTime.Parse(lblDate.Content.ToString(("yyyy-MM-dd"));
var Abs = dbs.GETAbsenteeisms.Where(a => a.AbsenteeismDate == ClassDate ).ToList();