C#最好的方式来比较一天中的两个时间

时间:2009-09-11 14:13:39

标签: c# datetime timespan

我想知道是否通过了当天的指定时间。我真的不喜欢我的方式:

private static readonly TimeSpan _whenTimeIsOver = new TimeSpan(16,25,00);

internal static bool IsTimeOver()
{
    return DateTime.Now.TimeOfDay.Subtract(_whenTimeIsOver ).Ticks > 0; 
}

你好吗?

2 个答案:

答案 0 :(得分:24)

怎么样:

internal static bool IsTimeOver()
{
    return DateTime.Now.TimeOfDay > _whenTimeIsOver;
}

运算符重载对于日期和时间工作非常有用:)您可能还想考虑将其设置为属性而不是方法。

很遗憾没有

DateTime.CurrentTime

TimeSpan.CurrentTime

要避免DateTime.Now.TimeOfDay(就像DateTime.Today一样),但唉,不......

我在MiscUtilint上有一组扩展方法可以使_whenTimeIsOver初始化整齐 - 您可以使用:

private static readonly TimeSpan _whenTimeIsOver = 16.Hours() + 25.Minutes();

这不是每个人的口味,但我喜欢它......

答案 1 :(得分:14)

if (DateTime.Now.TimeOfDay > _whenTimeIsOver)
    ....
相关问题