-1

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

“A”如果当前时间跨度正在下降between 06:00 – 14:00并且

“B”如果当前时间下降between 14:00 – 22:00。如果两种情况都不满足,那么它应该返回“C”

请提出实现这一目标的最佳方法。

4

4 回答 4

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”。

于 2012-08-08T06:25:48.353 回答
0

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

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

于 2012-08-08T06:22:59.900 回答
0

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

于 2012-08-08T06:43:48.640 回答
-1
if (DateTime.Now.Hour >= 6 && DateTime.Now.Hour <= 14)
    return "A";
else if (DateTime.Now.Hour >= 14 && DateTime.Now.Hour <= 22)
    return "B";
于 2012-08-08T06:28:01.227 回答