.NET 6 / C# 10 推出TimeOnly
and DateOnly
结构体,分别表示仅时间和日期。
老好人DateTime
结构总是有一个Now
静态属性将为您提供当前日期和时间。
我期待着两者TimeOnly
and DateOnly
结构具有类似的静态属性;喜欢TimeOnly.Now
or DateOnly.Today
,但他们显然没有。
那么,如果我想要一个DateOnly
代表当前日期的对象,或者TimeOnly
代表当前时间的对象?
我还想知道为什么他们决定不在这两个新结构中包含类似的属性?
您可以使用.FromDateTime()
method,
仅获取当前日期:
var dateNow = DateOnly.FromDateTime(DateTime.Now);
仅获取当前时间:
var timeNow = TimeOnly.FromDateTime(DateTime.Now);
欲了解更多详情,您可以通过Github问题 https://github.com/dotnet/runtime/issues/53498。有几条很好的评论解释了,why .Now
财产没有被介绍给DateOnly
and TimeOnly
Why .Today
, .Now
and UtcNow
属性没有介绍到DateOnly
?
- From @tarekgh 评论 https://github.com/dotnet/runtime/issues/53498#issuecomment-854858913, dotnet 社区正在努力保持
DateOnly
not与时区有关
下一条评论来自@tarekgh https://github.com/dotnet/runtime/issues/53498#issuecomment-854905129,如果他们将这些属性引入到DateOnly
.
在阅读了 github 线程和其他几个文档之后,我想介绍一下DateOnly
and TimeOnly
结构只是为了解耦DateTime
.
这种日期和时间的解耦将有助于我们将来执行单独的计算Date
and Time
分别地。
这将帮助我们精确、细粒度地设计模型类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)