Javascript日期不一致

时间:2015-07-13 23:44:04

标签: javascript node.js date

在我的节点服务器上,我以epoch格式从客户端接收时间值(自1970年1月1日以来的毫秒数)。我将它提供给Date()对象,然后将其打印出来:

var d = new Date(epochTime);
var year = d.getFullYear();
var mo = d.getMonth();
var day = d.getDay();

console.log("ISO:" + d.toISOString() + "  year:" + year + " mo:" + mo + " day:" + day);

现在,我从日期对象中得到了奇怪的不一致。 例如。对于“1437386620207.58”的值 - 这是以上console.log打印的内容:

ISO:2015-07-20T10:03:40.207Z  year:2015 mo:6 day:1

咦?为什么这些日期如此不同?

1 个答案:

答案 0 :(得分:4)

代码中存在两个问题:

  • Javascript中的月份为零,即0为1月,11为12月。
  • getDay()返回星期几。那应该是getDate()而不是返回月份的日期。