我想知道一天中的指定时间是否已过。我真的不喜欢我正在做的事情:
private static readonly TimeSpan _whenTimeIsOver = new TimeSpan(16,25,00);
internal static bool IsTimeOver()
{
return DateTime.Now.TimeOfDay.Subtract(_whenTimeIsOver ).Ticks > 0;
}
你好吗?
怎么样:
internal static bool IsTimeOver()
{
return DateTime.Now.TimeOfDay > _whenTimeIsOver;
}
运算符重载对于日期和时间工作非常有帮助 :) 您可能还想考虑将其作为属性而不是方法。
有点遗憾的是没有
DateTime.CurrentTime
或者
TimeSpan.CurrentTime
避免DateTime.Now.TimeOfDay
(就像有一样DateTime.Today
)但是唉,不......
int
我在MiscUtil中有一组扩展方法,可以使初始化_whenTimeIsOver
更整洁 - 你可以使用:
private static readonly TimeSpan _whenTimeIsOver = 16.Hours() + 25.Minutes();
这不是每个人的口味,但我喜欢它......
if (DateTime.Now.TimeOfDay > _whenTimeIsOver)
....