【发布时间】:2021-09-18 21:11:27
【问题描述】:
我想将这些时间条件保存在 C# 中的某种列表或数组中。 我有这些时间条件:
-
周六 12:00 – 周日 08:00
public bool CheckConditions(DateTime now) { //Pseudo if (now >= "Saturday 12:00" && now <= "Sunday 08:00") { return true; } }
我很难知道我应该如何解决这个问题,我想我需要一些 if 语句来检查所有这些时间条件。 输入参数将是现在的日期和时间,然后我想检查现在的时间是否在这些条件之间,如果它们是我只想返回 true,否则返回 false。
我希望你明白我在这里寻找什么,并且需要帮助。
谢谢
【问题讨论】:
-
这能回答你的问题吗? Find if current time falls in a time range
-
var hours = new Dictionary<DayOfWeek, int[]> { [DayOfWeek.Sunday] = new[] { 18, 19, 20, 21, 22, 23 }, [DayOfWeek.Monday] = new[] { 00, 01, 02, 03, 04, 05, 06, 18, 19, 20, 21, 22, 23 }, .. }。hours[now.DayOfWeek].Contains(now.Hour)。当然,如果您保证范围是连续的,则可以使用更有效的初始化/检查方法。
标签: c# .net datetime conditional-statements