为什么在 .NET 中 DateTime.MinValue 是 0001-01-01T00:00 而不是 0000-01-01T00:00?我认为 0 年应该是完全有效的,因为 DateTime 在概念上仍然是某个事件之后的间隔(比如耶稣的诞生)。

似乎使用当前的 DateTime 实现不可能跟踪耶稣出生的同一年的某个日期。

我知道这只是一个理论问题,但很有趣的是知道是否有任何实际原因,为什么不使用 year = 0000。

最佳答案

传统的预兆公历中不存在零年。公元前 1 年 12 月 31 日之后是公元 1 月 1 日。

自公历公历时代开始以来,日期时间在内部表示为刻度。如果您愿意,您可以使用其他日历创建 DateTime。



然而,ISO 8601 确实有一个零年,但它指的是公历中的 1BCE。参见:https://en.wikipedia.org/wiki/ISO_8601#Years

关于.net - 为什么 DateTime.MinValue 是 0001-01-01T00 :00 instead of 0000-01-01T00:00?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32456889/

10-11 01:28