javascript - setMonth 和 getMonth 不返回相同的值
问题描述
当我写这篇文章时,我遇到了以下问题:
const date = new Date();
date.setMonth(5);
date.getMonth(); // returns 6
date.setMonth(4);
date.getMonth(); // returns 4
为什么?
解决方案
问题并非每次都发生,只有当您在某个日期尝试时,当当前日期是该月的 31 日时。
所以今天是 2018 年。5 月 31 日。
当您设置的月份不是 31 天长的月份时,则天溢出,月份自动增加 1。
const date = new Date();
console.log(date.getMonth(), date.getDate()); // 4 31
date.setMonth(5);
console.log(date.getMonth(), date.getDate()); // 6 1
推荐阅读
- python - 例如,有没有办法在本地发送 SMTP 电子邮件而不是使用 gmail?
- javascript - 比较 2 个数组并删除项目
- c# - 从另一个类监听 PropertyChanged
- javascript - 如何使用 setInterval 以角度调用我的服务
- google-translate - 旧版谷歌翻译
- java - 如何通过java中的电子邮件从数据库发送数据(表)?
- php - 基于关系值的 Laravel 排序模型
- c++ - 为什么此代码为相同的输入输出不同的结果?
- python - 如何在 python 中加入两个单词?
- kubernetes - 所有节点上的 Longhorn PVC 再分配卷