根据当前时间计算常数

时间:2012-08-08 06:14:44

标签: c# datetime

我想返回一个常量字符串值,说

如果当前时间跨度为between 06:00 – 14:00

,则为“A”

“B”如果当前时间下降between 14:00 – 22:00。如果两个案例都不满意,那么它应该返回“C”

请建议实现这一目标的最佳方法。

4 个答案:

答案 0 :(得分:1)

试试这个:

static string GetValue(DateTime date)
{
    var time = date.TimeOfDay;
    if (time.TotalHours >= 6 && time.TotalHours < 14)
    {
        return "A";
    }

    if (time.TotalHours >= 14 && time.TotalHours < 22)
    {
        return "B";
    }

    return null;
}

如果时间是14:01,此代码将返回“B”。

答案 1 :(得分:0)

  

[DateTime。] Hour属性的值始终使用24小时表示   时钟。   MSDN

但是,您的日期必须是DateTime类型,而不是TimeSpan

答案 2 :(得分:0)

尝试使用Datetime.Compare进行两次比较。

答案 3 :(得分:-1)

if (DateTime.Now.Hour >= 6 && DateTime.Now.Hour <= 14)
    return "A";
else if (DateTime.Now.Hour >= 14 && DateTime.Now.Hour <= 22)
    return "B";