javascript setHours 日期设置为上一个日期

Man*_*ewa 6 javascript datetime

我想使用 javascript 的 setHours() 方法将时间设置为 0,但它将一个月中的某一天更改为比实际日期少一。示例代码:

var d = new Date();  //2017-09-18T04:58:34.223Z
d.setHours(0,0,0,0);  //2017-09-17T18:30:00.000Z
Run Code Online (Sandbox Code Playgroud)

Has*_*mam 9

setHours() 方法根据本地时间设置指定日期的小时数,并返回自 1970 年 1 月 1 日 00:00:00 UTC 到更新的 Date 实例表示的时间的毫秒数。

要将时间设置为通用时间午夜,请使用setUTCHours()

getUTCHours() 方法根据世界时间返回指定日期的小时数。

var date = new Date();
console.log(date.toISOString());
date.setUTCHours(0,0,0,0);
console.log(date.toISOString());
Run Code Online (Sandbox Code Playgroud)