在 JavaScript 中创建新的 Date 对象时,月份参数使用 0 到 11 之间的数字指定,这可能会导致似乎违反直觉。这种特性源于 Java 的 Date API。
Java 的 Date API 也使用从零开始的月份参数。 JavaScript 继承了这个怪癖,它是仿照 Java 的设计而设计的。 JavaScript 的创建者 Brendan Eich 通过 Twitter 确认了这种联系:
“我们受到‘Make It Look Like Java’的管理命令,我有十天的时间进行演示。没有时间发明我们的自己的日期 API,甚至修复 Java 的。”
目前还不清楚 Java 最初的用途选择从零开始的月份参数。然而,有几个原因可能促成了这一决定:
与月份参数相反,月份参数是从 1 开始的。这种选择可能是基于对更清晰和更容易理解的渴望。将日期指定为 1 到 31 之间的数字,直接对应于典型月份的天数。
虽然 JavaScript 的 Date API 保留了从零开始的月份参数,但有几种现代替代方案提供改进的日期处理的替代方案功能:
这些库提供了灵活直观的日期操作 API,解决了内置 Date 对象的限制。
以上是为什么 JavaScript 的'日期”构造函数使用从零开始的月份参数?的详细内容。更多信息请关注PHP中文网其他相关文章!