有没有一种方法可以表示.NET中没有日期的仅时间值?例如,指示商店的开业时间?
TimeSpan表示一个范围,而我只想存储一个时间值。使用DateTime表示这将导致产生新的结果,DateTime(1,1,1,8,30,0)这并不是真正希望的。
TimeSpan
DateTime
DateTime(1,1,1,8,30,0)
正如其他人所说,您 可以 使用DateTime和忽略日期,或者使用TimeSpan。我个人并不热衷于这两种解决方案,因为这两种类型都不能真正反映您要表达的概念- 我认为.NET中的日期/时间类型有些稀疏,这就是我开始的原因之一野田时间。在Noda Time中,您可以使用LocalTime类型表示一天中的某个时间。
LocalTime
要考虑的一件事:一天中的时间不一定是同一天午夜以来的时间长度…
(顺便说一句,如果您还想代表一家商店的 关门 时间,则可能会想代表24:00,即一天结束时的时间。大多数日期/时间API-包括Noda时间- 不允许将其表示为时间值。)