我的桌子上有一列“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的类型是我数据库中的日期。
抱歉,我不会说英语。答案 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();