gpt4 book ai didi

c# - 从可为空的日期时间获取日期?

转载 作者:太空狗 更新时间:2023-10-29 19:53:06 24 4
gpt4 key购买 nike

我已经在我的模型中将一个字段声明为像这样的可为空的日期时间

public DateTime? CallNextDate {get;set;}

在我后面的 aspx 代码中,我正在使用这样的 linq:

q = q.AsQueryable()
.Where(c => c.CallNextDate.Date < DateTime.Now.Date )
.ToList();

但是 c.CallNextDate.Date 不可用。请建议如何修复它

最佳答案

好吧,如果你已经知道它是非空的,你可以使用 Value获取底层的不可空值:

q = q.AsQueryable()
.Where(c => c.CallNextDate.Value.Date < DateTime.Now.Date)
.ToList();

或者,如果您也想对其进行过滤:

q = q.AsQueryable()
.Where(c => c.CallNextDate.Value != null &&
c.CallNextDate.Value.Date < DateTime.Now.Date)
.ToList();

不过,我强烈鼓励您获取今天的日期一次,并将其重新用于整个查询:

var today = DateTime.Today;
q = q.AsQueryable()
.Where(c => c.CallNextDate.Value != null &&
c.CallNextDate.Value.Date < today)
.ToList();

这会给你带来更多的一致性。顺便说一下,您真的应该考虑是否确实需要系统本地日期

(顺便说一句,您确定需要使用 AsQueryable 吗?这种情况相对较少。)

关于c# - 从可为空的日期时间获取日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13498876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com