javascript - 为什么 getMonth 在同一日期以不同的日期格式返回不同的值
问题描述
Date.getMonth() 以不同格式返回相同日期的不同值。
第一条语句采用 UTC 格式。
第二个使用 YYYY,M,DD 格式。
我没想到它会返回不同的值,因为它是同一日期。到底是怎么回事?
console.log(new Date('July 20, 69 00:20:18').getMonth()); // returns 6
console.log(new Date(1969, 7, 20).getMonth()); // returns 7
解决方案
对于您的第一个示例 - 阅读 MDN 文档以获取Date.getMonth()
. 它返回一个零索引的数字月份表示,其中一月由 表示0
,十二月由表示11
。因此,七月(正确)由 表示6
。
第二个本身不使用格式,它将值作为参数传递给Date
构造函数。MDN 文档Date()
声明您使用值传递的参数7
也是monthIndex
. 因此,要正确标注七月,请6
改为通过。
推荐阅读
- java - JDialog 无法在 SftpProgressMonitor 中更新
- java - Android 应用程序在向另一个活动打开一个活动时崩溃
- google-chrome - 如何从地址栏搜索网站
- c++ - 如何在 C++ 应用程序中托管的 CLR (.NET) 实例中设置用于程序集解析的基本目录?
- javascript - 如何使用 javascript 启用和禁用按钮
- wordpress - 在 woocommerce 管理员中添加和编辑产品时添加自定义通知
- bit-manipulation - 为什么 (x-1) 从 x 的最右边设置位切换所有位?
- amazon-web-services - 面向初学者的 Echo Dot AWS 技能开发
- javascript - 在fabric js画布中的组中添加文本和网格线
- toolkit - 全息工具包。测试资产在哪里