为什么对Javascript日期库的调用(如date.setMonth(date.getMonth()-1))在此处返回1426456040720?

hal*_*y9k 4 javascript date

为什么对Javascript日期库的调用(如date.setMonth(date.getMonth()-1))在此处返回1426456040720?

我希望您会因时区和文化而有所不同。

我觉得我一定想念一些东西,我敢肯定这就是我一直减少一个月的方式。

这是一个codepen:

http://codepen.io/hally9k/pen/pvMxBP?editors=101

var thisMonth = new Date();

console.log('this month: ' + thisMonth);

var lastMonth = thisMonth.setMonth(thisMonth.getMonth() - 1);

console.log('last month: ' + lastMonth); 
Run Code Online (Sandbox Code Playgroud)

jfr*_*d00 5

从的返回值.setMonth()是日期对象的时代以来的毫秒数。你可以看到在ECMAScript规范是打算返回值在这里

.setMonth()修改其Date对象。.getMonth()如果需要新的月份值,则可以从该对象获取新的月份值。

如果您只想更改后的新月,可以执行以下操作:

var d = new Date();
console.log('this month: ' + d.getMonth());
d.setMonth(d.getMonth() - 1);
console.log('previous month: ' + d.getMonth()); 
Run Code Online (Sandbox Code Playgroud)