时间为 24 小时格式且开始日期为 00:00:000 的日期对象

问题描述 投票:0回答:1

我遇到一个情况,数据库中的日期字段是不同地区的当地时间。所以我需要做一些聚合,我只需要给定日期的开始和结束。我希望格式类似于 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

javascript momentjs dayjs
1个回答
0
投票

你可以简单地做:

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

© www.soinside.com 2019 - 2024. All rights reserved.