gpt4 book ai didi

C#用分钟限制小时

转载 作者:太空宇宙 更新时间:2023-11-03 19:13:13 24 4
gpt4 key购买 nike

我只想在 12:30 -- 14:00 和 18:00 -- 21:00 之间启用复选框。

if (((DateTime.Now.Hour >= 12 || DateTime.Now.Minute >= 30) && DateTime.Now.Hour < 14) || (DateTime.Now.Hour >= 18 && DateTime.Now.Hour < 21))
{ ASPxCheckBox_ForceClot.Enabled = true; }

问题是分钟,12:30

DateTime.Now.Hour >= 12 || DateTime.Now.Minute >= 30

它拒绝 12:45 但它应该采用这个值

 DateTime.Now.Hour >= 12 && DateTime.Now.Minute >= 30

它拒绝 13:12 但它应该采用这个值

提前致谢

最佳答案

我建议您改用一天中的实际时间(表示为 TimeSpan 值):

var firstPeriodStart = new TimeSpan(12, 30, 0);
var firstPeriodEnd = new TimeSpan(14, 0, 0);

var secondPeriodStart = new TimeSpan(18, 0, 0);
var secondPeriodEnd = new TimeSpan(21, 0, 0);

DateTime time = DateTime.Now.TimeOfDay;

if ((time >= firstPeriodStart && time < firstPeriodEnd) ||
(time >= secondPeriodStart && time < secondPeriodEnd))
{
ASPxCheckBox_ForceClot.Enabled = true;
}

更好的是 (IMO) 在 Noda Time 中使用 LocalTime 类型因为这代表了您真正感兴趣的内容。

您还应该记住,上面的代码使用的是服务器 上的本地时间 - 如果您的用户位于不同的时区,这样可以吗?

关于C#用分钟限制小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18975547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com