我们在学习前端的知识过程中,难免会因为没有深入其真正的原理、或错误的理解,而把自己带入坑中。

  • 时间加一个月的坑
1
2
3
4
5
6
7
8
9
10
# 假设当前日期为1月31号
var date= new Date(2019, 0, 31);

# 我们给当前日期的月份加上1
date.setMonth(date.getMonth() + 1);

# 输出date
console.log(date); // Sun Mar 03 2019 00:00:00 GMT+0800 (中国标准时间)

# 此时结果出现了与我们预期不符,我们本希望的是2月的最后一天。

此时我们可以认定,在 JS 中(当前日期月份加1)将理解成: 当前日期 + 当月的天数(即 1月31号+31天)