将setHours设置为零在NodeJ中不起作用

时间:2018-03-21 13:20:29

标签: javascript jquery node.js

我正在尝试获取当前日期进行比较并将小时数设置为零,但仍然有时间。



    var today = new Date(new Date().setHours(0,0,0,0));
    var todaynew = today.toISOString();
    console.log(todaynew);




我的输出如下:

2018-03-20T18:30:00.000Z

我需要获取日期,但时间是2018-03-20T00:00:00.000Z

1 个答案:

答案 0 :(得分:4)

创建new Date()时,时区是系统的时区。使用toISOString()时,时间以UTC格式打印。这意味着当您在具有不同时区的系统上运行时,您的代码将打印不同的结果(它为我打印2018-03-20T23:00:00.000Z)。

不使用setHours(),而是使用setUTCHours()

    var today = new Date(new Date().setUTCHours(0,0,0,0));
    var todaynew = today.toISOString();
    console.log(todaynew);