我遇到一个情况,数据库中的日期字段是不同地区的当地时间。所以我需要做一些聚合,我只需要给定日期的开始和结束。我希望格式类似于 2023-08-15 00:00:00.000,同时它应该是一个 javascript 对象。我尝试了以下操作,但它总是显示时区,这是我不想要的。如果有空的话,我可以自由使用任何图书馆
const cutoffDate = '2023-08-14';
var d = new Date(cutoffDate);
d.setHours(0);
d.setMinutes(0);
d.setSeconds(0);
console.log(d);
但是,这给出了一个糟糕的结果:2023-08-13T07:00:00.000Z,而它应该是 2023-08-14T00:00:00.000Z
你可以简单地做:
const cutoffDate = '2023-08-14';
var d = new Date(cutoffDate);
console.log(d.toISOString());
获得
2023-08-14T00:00:00.000Z
。该格式称为 ISO 8601 格式。
当您使用 dateString
创建 Date 对象时,它会使用
Date.parse()
,并且 使用 "2023-08-14"
等格式,会将其视为 UTC。