当我在Chrome中定义相同的日期时,它会显示预期的结果。 但是当我在node.js中运行它时,代码如下:
var date = new Date(2015, 1, 1);
console.log(date); // it displays: 2015-01-31T16:00:00.000Z
我的问题是为什么不2015-02-01 ?
答案 0 :(得分:4)
是时区问题。 在Chrome中,打印日期和时间是根据您当地的时区信息进行调整的。但是在您打印的Node.js中的日期,它的字符串格式是ISO字符串,没有调整时区值。
因此,The time and space complexity of the sort cannot be guaranteed as it is implementation dependent.
function reverse(a[0..n - 1])
allocate b[0..n - 1]
for i from 0 to n - 1
b[n − 1 − i] := a[i]
return b
function reverse_in_place(a[0..n-1])
for i from 0 to floor((n-2)/2)
tmp := a[i]
a[i] := a[n − 1 − i]
a[n − 1 − i] := tmp
在Chrome和Node.js中具有相同的值。
尝试new Date(2015, 1, 1)
。您将获得2015-2-1。
答案 1 :(得分:0)
您只是打印日期对象
var date = new Date(2015, 1, 1)
console.log(date);
有关更深入的说明,请检查:
https://www.w3schools.com/js/js_date_formats.asp
此外,如果您的目标是使用这种格式 2015-02-01
,请选中https://momentjs.com/。对于您的情况:
(使用moment.js)
moment(new Date(2015, 1, 1)).format('YYYY-MM-DD') // "2015-02-01"