一尘不染

如何在.NET中表示仅时间值?

c#

有没有一种方法可以表示.NET中没有日期的仅时间值?例如,指示商店的开业时间?

TimeSpan表示一个范围,而我只想存储一个时间值。使用DateTime表示这将导致产生新的结果,DateTime(1,1,1,8,30,0)这并不是真正希望的。


阅读 282

收藏
2020-05-19

共1个答案

一尘不染

正如其他人所说,您 可以
使用DateTime和忽略日期,或者使用TimeSpan。我个人并不热衷于这两种解决方案,因为这两种类型都不能真正反映您要表达的概念-
我认为.NET中的日期/时间类型有些稀疏,这就是我开始的原因之一野田时间。在Noda
Time中,您可以使用LocalTime类型表示一天中的某个时间。

要考虑的一件事:一天中的时间不一定是同一天午夜以来的时间长度…

(顺便说一句,如果您还想代表一家商店的 关门 时间,则可能会想代表24:00,即一天结束时的时间。大多数日期/时间API-包括Noda时间-
不允许将其表示为时间值。)

2020-05-19