0

这可能听起来很傻,但请耐心等待。我最近一直在处理间隔和日期。一个困扰我的问题:一天真的是24小时吗?从理论和实践的角度来看,我对答案很感兴趣。

让我们以今天为例,这一天从 2012 年 12 月 13 日 00:00:00 开始,根据(所有)日期时间实现,它将在 2012 年 12 月 14 日 00:00:00 结束。这是正确的,两个日期之间的差是整整 24 小时。

这样做的问题是结束日期被认为是“明天”。大多数人认为一天从 00:00:00 开始,到 23:59:59 结束。

那么,今天是开始时的封闭间隔,并且在结束时打开,例如[start..end),结束非常非常接近 2012 年 12 月 14 日 00:00:00(所以不是一个完整的 24 小时)?或者它实际上是在两端关闭,它们之间有整整 24 小时?

4

1 回答 1

3

这只能在集合成员的语言中明智而明确地解决,所以这就是我将在这里选择的策略。

一天结束,下一天从午夜开始。在连续时间的基础上,属于一天的时刻集合包括从当天午夜(含)到次日午夜(不含)的半开区间。在离散时间的基础上,属于某一天的一组时刻包括介于当天午夜(含)和下一个午夜(含)之前的最小可能时刻发生的时刻。

总而言之:一天“尽可能接近”到 24 小时。在极限情况下(连续时间),一天的长度逐渐接近 24 小时。显然,这个讨论忽略了闰秒和闰日。

于 2012-12-13T22:07:34.547 回答