我有这段简短的代码正在检查DateTime变量。
它看起来像这样:
DateTime launchDay = DateTime.Today;
// launchTime.Begin is a DateTime? type
if (launchTime.Begin == null || launchTime.Begin > launchDay) return NoContent();
问题是,launchDay是'today',显然是午夜?
因此,如果我的launchTime.Begin是2pm...。那么,在'launchDay'之后(由于'launchDay'设置为12AM),该值会更大。
如何比较日期,以便我知道它们在同一天,而不用担心太多时间?
如果launchTime.Begin为null或launchTime.Begin与launchDay不在同一天,我只希望它返回NoConent()。
有没有办法解决我遇到的问题?
谢谢!
答案 0 :(得分:2)
DateTime
type包含两个部分:日期部分和时间部分。当您只关心日期(而不是时间)时,通常将时间部分设置为默认值0:00:00(即午夜)。
这在DateTime.Today
上也有解释:
设置为今天的日期,时间部分设置为00:00:00的对象。
要使用日期,而忽略时间成分,可以使用Date
property,它基本上会在将时间成分设置为午夜时复制DateTime
值。
这使您可以进行此类比较:
if (launchTime.Begin == null || launchTime.Begin.Date > DateTime.Today)
return NoContent();