TimeOnly
是在.Net 6中推出的新类型之一,与DateOnly
一起使用。我理解需要DateOnly
类型的原因是有很多情况下你想存储日期而没有相关的时间,但是没有数据类型可以实现。
然而,在涉及时间方面,TimeSpan
已经存在并且能够表示时间。 Timespan
与TimeOnly
非常相似,只是TimeOnly
似乎忽略了一些属性。
除了节省一点内存之外,使用TimeOnly
有什么比使用TimeSpan
更大的好处吗?
TimeOnly
而不是TimeSpan
的一个好处是可以使用适当的数据类型来表示时间段和时间点。
TimeOnly
更适合表示一天中的时间点,而TimeSpan
更适合表示时间段/时长。它还具有正确处理跨越午夜的时间相加/相减的方法,而TimeSpan
则不具备这个功能。TimeOnly
)。
TimeOnly
只允许以产生有效时间点的方式进行修改,而TimeSpan
允许进行可能导致超出范围的修改。
TimeSpan
可以表示更大范围的时间段(包括负时间段),其范围约为+/- 29,000年,而TimeOnly
只能表示00:00:00.0000000到23:59:59.9999999。TimeOnly
类型(以及DateOnly
)的更多信息:https://devblogs.microsoft.com/dotnet/date-time-and-time-zone-enhancements-in-net-6/
TimeOnly
和TimeSpan
之间的好处,而不仅仅是如何表示时间。 - YungDeizaTimeSpan
可以表示大约 +/- 29,000 年的范围,而TimeOnly
只能表示24小时制的时间。 - undefined