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

Dev*_*han 1 javascript jquery node.js

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

    var today = new Date(new Date().setHours(0,0,0,0));
    var todaynew = today.toISOString();
    console.log(todaynew);
Run Code Online (Sandbox Code Playgroud)

我的输出如下:

2018-03-20T18:30:00.000Z
Run Code Online (Sandbox Code Playgroud)

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

O.O*_*nce 6

创建 时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);
Run Code Online (Sandbox Code Playgroud)