有没有一种方法可以在.NET中表示只有时间的值而不带日期?例如,标明store 的开业时间?
TimeSpan
表示一个范围,而我只想存储一个时间值.使用DateTime
表示这将导致新的DateTime(1,1,1,8,30,0)
,这并不是真正需要的.
有没有一种方法可以在.NET中表示只有时间的值而不带日期?例如,标明store 的开业时间?
TimeSpan
表示一个范围,而我只想存储一个时间值.使用DateTime
表示这将导致新的DateTime(1,1,1,8,30,0)
,这并不是真正需要的.
正如其他人所说,你使用DateTime
忽略日期,或者使用TimeSpan
.就我个人而言,我对这两种解决方案都不感兴趣,因为这两种类型都没有真正反映出您试图表达的概念——我认为日期/时间类型是正确的.NET有点稀疏,这是我开始Noda Time的原因之一.在Noda Time中,可以使用LocalTime
类型来表示一天中的某个时间.
要考虑的一件事是:一天中的时间不一定是从同一天午夜开始的时间长度……
(另一方面,如果你也想表示一家store 的closing次,你可能会发现你想表示24:00,即一天结束时的时间.大多数日期/时间API(包括野田佳彦时间)不允许将其表示为一天中的时间值.)