我想返回一个常量字符串值说
“A”如果当前时间跨度正在下降between 06:00 – 14:00
并且
“B”如果当前时间下降between 14:00 – 22:00
。如果两种情况都不满足,那么它应该返回“C”
请提出实现这一目标的最佳方法。
试试这个:
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”。
[DateTime.]Hour 属性的值始终使用 24 小时制表示。 MSDN
但是,您的日期必须是 type DateTime
,而不是TimeSpan
。
尝试使用Datetime.Compare比较两次。
if (DateTime.Now.Hour >= 6 && DateTime.Now.Hour <= 14)
return "A";
else if (DateTime.Now.Hour >= 14 && DateTime.Now.Hour <= 22)
return "B";