提问者:小点点

JS检索一年的第一天和最后一天


给定一年,我试图检索当前年份的开始和结束(例如01-01-xxxx 00:00和12-31-xxxx 23:59:59),但是我得到了不正确的结果。

我的代码:

null

var date = new Date(2020, 0, 1);
var end_date = new Date(2020, 11, 31);
console.log(date, end_date);

null

结果:

2019-12-31t23:000.000z 2020-12-30t23:000.000z

奇怪的是,如果我在浏览器控制台中运行它,那么它工作得很好,所以我猜测sit与节点或我的时区有关?


共1个答案

匿名用户

该代码在当前环境的本地时区中为一年的开始和结束创建日期是正确的。

当您将它们记录到控制台时,将显示它们等效的UTC日期,并且很明显,您正在运行它的位置上的时间是UTC+1。

因此,如果您想要一年开始和结束的本地日期,该代码是正确的。如果您想要一年开始和结束的UTC日期,可以这样做:

null

var date = new Date(Date.UTC(2020, 0, 1));
var end_date = new Date(Date.UTC(2020, 11, 31));
console.log(date, end_date);