Javascript 在nodejs日期对象中设置日期将日期显示为不同的值
当我使用下面的语句设置date对象时,输出在nodejs中显示不同。你能帮我理解为什么会这样吗。以及我需要如何传递以打印正确的值Javascript 在nodejs日期对象中设置日期将日期显示为不同的值,javascript,node.js,datetime,Javascript,Node.js,Datetime,当我使用下面的语句设置date对象时,输出在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
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
月参数从0(一月)开始到11(十二月) 因此,如果您想获得2017-01-01,您需要使用:
var date1 = new Date(2017, 0, 1)
此处的更多信息:像这样打印日志
console.log(“2017-01-01打印为==>”+date1);
console.log(“2017-01-31打印为==>”+date2)代码>
将为您提供预期的日志
这是因为控制台日志在使用逗号时将日期作为日期对象,而在使用+
时,它将object.toString()
应用于日期对象。在执行您的建议后,它仍然打印为相同的var date1=新日期(2017,0,1);var date2=新日期(2017,0,31);console.log(“2017-01-01打印为==>”,日期1);console.log(“2017-01-31打印为==>”,日期2)代码>输出2017-01-01打印为==>2016-12-31T18:30:00.000Z 2017-01-31打印为==>2017-01-30T18:30:00.000Z您可以尝试这样打印日志吗console.log(“2017-01-01打印为==>”+date1);console.log(“2017-01-31打印为==>”+date2)代码>?@TGW有区别吗?使用逗号的日志记录似乎工作相同。@使用逗号的StevenTang将此date1
和date2
作为对象传递给log方法,而使用+
将调用日期对象上的object.toString并打印日期。因此,这种不同的行为。“在堆栈上”可能会给您更多解释。@TGW请您在“回答”部分更新此内容,以便我可以将此问题作为已回答的问题。