我有一个代码,用于测试两个日期之间月份的差异。为了过时我正在做以下事情
var oldDate = new Date();
oldDate.setMonth(oldDate.getMonth() - 5);
但是
monthsOldDate
返回的是其他内容,而不是五个月前的日期,为什么今天这种行为很奇怪?我该如何解决? 最佳答案
这是因为它是第31个。
当使用参数setMonth()
调用-2
方法时,它将日期设置为2017年11月31日。这不是实际日期,因此将其转换为2017年12月1日。
有关此行为的说明,请参见last paragraph of the Description
section。