javascript 中的 DateTime new Date(params) 快了 1 个月

DateTime new Date(params) in javascript is faster by 1 month

这很奇怪,但似乎 new Date(params) 以年、月、日、小时、分钟、秒、毫秒的正确格式传递时,它提前了 1 个月。

看看下面的实现:

  // The format below needs to be changed according to req.param('dateTime')
  // dateTime format is as follows: "dd/MM/yyyy HH:mm:ss"
  var dateTime = report['dateTime'];
  console.log('dateTime: '+dateTime);
  var dateTimeSplit = dateTime.split(' ');
  var dateSplit = dateTimeSplit[0].split('/');
  var timeSplit = dateTimeSplit[1].split(':');
  var day = parseInt(dateSplit[0]);
  var month = parseInt(dateSplit[1]);
  var year = parseInt(dateSplit[2]);
  var hour = parseInt(timeSplit[0]);
  var minute = parseInt(timeSplit[1]);
  var second = parseInt(timeSplit[2]);
  var createdAt = new Date(year, month, day, hour, minute, second, 0);
  console.log('createdAt: '+createdAt);

日志的结果是:

Feb 09 04:13:46 sails-wusrs app/web.1:  createdAt: Mon Mar 09 2015 12:02:24 GMT+0000 (UTC) 
Feb 09 04:13:46 sails-wusrs app/web.1:  dateTime: 09/02/2015 12:02:24 

这个服务器在heroku上是运行,奇怪的是createdAt的日志在dateTime的前面。其他一切都很好,除了一个月。 02 二月对吗?我很混乱。感谢您的帮助!

javascript 日期时间中的月份从 0 开始。

http://javascript.info/tutorial/datetime-functions