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

标签 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

最佳答案

当您创建一个 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);

关于javascript - 将 setHours 设置为零在 NodeJs 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49407453/

相关文章:

javascript - 验证 NoCaptcha ReCaptcha

javascript - 如何防止 React 卸载/重新安装组件?

javascript - html-loader 的用途是什么以及它在 Webpack 中是如何工作的

jQuery 验证 - form.valid() 始终返回 true

jquery - 将鼠标悬停在另一个 <div> 上时更改 <div> 内的图像 <src>

javascript - Bootstrap 内联表单搜索栏宽度

javascript - 对 HTML 表列中的每个单元格执行 X?

javascript - process.env.UV_THREADPOOL_SIZE 不工作?

javascript - 带 activedirectory 包的 Node.js 计时

node.js - 如何在 Yarn 中从 github repo 安装包