首页 > 解决方案 > 如何在 JavaScript 中为非常旧的日期(大约公元 0 年)格式化初始化字符串?

问题描述

我想用 JavaScript 表示第 0 年,而不是 1970 年,因为我们知道它是实际的第 0 年。我想知道如何正确格式化这个或任何具有异常少量年份的日期字符串。我尝试用new Date('0000-00-00T00:00:00')和初始化它new Date('0-00-00T00:00:00'),但两次 toString 方法都说“无效日期”。

我刚刚意识到我可以通过使用 1970 年并抵消它来解决这个问题,所以它并不是真正的关键任务,但据说 JavaScript 可以做非常小的和非常大的年份,超过正负 200,000。我觉得奇怪和愚蠢的是,它的实现似乎不支持在其范围内的所有年份中以一种标准方式初始化日期。我发现 JavaScript 中有很多奇怪、愚蠢和不一致的东西,老实说,其中一些毫无疑问是由于个人实现,但我的看法没有改变。

好吧,既然我已经侮辱了语言,如果有什么方法可以做到这一点,你可以继续启发我。

标签: javascriptdateutc

解决方案


KI想通了。我是不一致和愚蠢的!JavaScript 也是如此。这不是无可指责的。

年、小时、分钟和秒可以为零,但月和日从 1 开始。我只需将我的默认月和日设为 01 而不是 00。


推荐阅读