一尘不染

意外的JavaScript日期行为

javascript

我有以下代码:

var newDate=new Date('05/22/2012');
var month=newDate.getMonth();
var day=newDate.getDate()+(-2);
var year=newDate.getYear();
document.write(month+'/'+day+'/'+year);

我希望它返回“ 05/20/2012”,但它返回“ 04/20/2012”

这对我来说毫无意义-有人可以帮助我了解发生了什么以及如何获得正确的响应吗?

感谢您的关注!


阅读 232

收藏
2020-05-01

共1个答案

一尘不染

.getMonth()从零开始。如0=January11=December

尝试

var month=newDate.getMonth() + 1;
2020-05-01