在.NET 6中使用DateOnly和TimeOnly (2)

我们可以执行的另一个检查时识别特定的TimeOnly是否在时间窗口内。例如,假设我们想要检查当前时间是否在我们定义的开始时间和结束时间之间。与DateOnly一样,我们可以使用FromDateTime静态方法将现有的DateTime转化为TimeOnly。

var currentTime = TimeOnly.FromDateTime(DateTime.Now); var isBetween = currentTime.IsBetween(startTime, endTime); Console.WriteLine($"Current time {(isBetween ? "is" : "is not")} between start and end");

上面的代码将输出到控制台,以确定当前时间是否在10:30(10:30 AM)和17:00(5 PM)之间。LinqPad输出的结果进行了稍微的改变,用来输出当前时间。

在.NET 6中使用DateOnly和TimeOnly

方法IsBetween()可以接受两个参数,正常的时间范围,如我们前面的示例中使用的范围。同样可以接受跨凌晨的时间范围,如22:00-02:00。

var startTime = new TimeOnly(22, 00); var endTime = new TimeOnly(02, 00); var now = new TimeOnly(23, 25); var isBetween = now.IsBetween(startTime, endTime); Console.WriteLine($"Current time {(isBetween ? "is" : "is not")} between start and end"); // Output = Current time is between start and end

LinqPad中的最后一行的输出内容。

在.NET 6中使用DateOnly和TimeOnly

TimeOnly还包括用于比较使用循环时钟的时间操作符。

var startTime = new TimeOnly(08, 00); var endTime = new TimeOnly(09, 00); Console.WriteLine($"{startTime < endTime}"); // Output = True

这段代码检查上午8点是否早于上午9点,显然是早于9点的。

总结

面向 .NET 6 的新应用程序中,如果您的数据需要独立表示日期或时间,那么 DateOnly 和 TimeOnly 值得考虑。

你喜欢这篇文章吗?觉得它有用吗?如果有,请考虑支持我,关注一下我的公众号

在.NET 6中使用DateOnly和TimeOnly

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgdpdz.html