Javascript 为什么。设置小时数(0,0,0,0)导致T07:00:00.000Z

Javascript 为什么。设置小时数(0,0,0,0)导致T07:00:00.000Z,javascript,Javascript,我需要一天的开始和结束。我一直在读,如果我要用momentjs做约会的事情。虽然我现在可能会走这条路,但我认为我不需要那么多的日期操作,所以我会尽量不向这个项目添加比需要更多的npm包。我读到你可以用.setHours(0,0,0,0)设置一天开始的日期,但当我在终端上尝试时,我看到时间被设置为T07:00:00.000Z有人能解释为什么吗?感觉应该是T00:00:00.000Z let date=新日期('2019-08-16T20:30:38Z'); 设定时间(0,0,0,0); 控制台日

我需要一天的开始和结束。我一直在读,如果我要用momentjs做约会的事情。虽然我现在可能会走这条路,但我认为我不需要那么多的日期操作,所以我会尽量不向这个项目添加比需要更多的npm包。我读到你可以用
.setHours(0,0,0,0)
设置一天开始的日期,但当我在终端上尝试时,我看到时间被设置为
T07:00:00.000Z
有人能解释为什么吗?感觉应该是
T00:00:00.000Z

let date=新日期('2019-08-16T20:30:38Z');
设定时间(0,0,0,0);

控制台日志(日期)我住在中心时区,每年的这个时候UTC-5,所以我运行它时得到T05:00:00.000Z。因为你生活在太平洋时区(大概是UTC-7),所以你的UTC时间是早上7点。您正在设置本地时间,但以UTC输出时间。从文档()中:

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


Z
是(基本上)UTC的简写。请尝试使用setUTCHours