在nodejs日期对象中设置日期会将日期显示为不同的值

时间:2018-01-01 03:38:39

标签: javascript node.js datetime

当我使用以下语句设置日期对象时,输出在nodejs中显示不同。能帮我理解为什么会这样吗?我需要如何传递正确的价值。

var date1= new Date(2017,01,01);
var date2= new Date(2017,01,31);
console.log("2017-01-01 is printed as ==>",date1);
console.log("2017-01-31 is printed as ==>",date2);

输出

  

2017-01-01打印为==> 2017-01-31T18:30:00.000Z

     

2017-01-31打印为==> 2017-03-02T18:30:00.000Z

2 个答案:

答案 0 :(得分:1)

像这样打印您的日志 console.log("2017-01-01 is printed as ==>"+date1); console.log("2017-01-31 is printed as ==>"+date2); 会给你你想要的日志 这是因为在使用逗号时控制台日志将日期作为日期对象,而在使用+时,它将object.toString()应用于日期对象。

答案 1 :(得分:0)

月参数从0(1月)到11(12月)开始 所以,如果你想获得2017-01-01,你需要使用:

[[0, 1, 2], [1, 2, 3], [2, 3, 4]]

此处有更多信息:https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Date