我的日期如下,
let date = '2024-03-11';
我想在上述日期基础上加 1 天
let newDate = mew Date(date); -> converting to local date -> 2024-03-10 (becoming -1)
newDate.setDate(newDate.getDate() + 1);
它运行良好,但问题是当我使用 new Date() 方法将我的日期转换为 2024-03-10 时,我得到了本地日期
有人可以帮助我如何在 UTC 日期中添加 1 个日期而不将其转换为本地时区吗?
要向 UTC 日期添加一天而不将其转换为本地时区,您可以使用
Date.UTC()
方法以及 Date
对象构造函数。具体方法如下:
let date = '2024-03-11';
let parts = date.split('-');
let utcDate = new Date(Date.UTC(parts[0], parts[1] - 1, parts[2])); // Months are zero-indexed, so subtract 1 from the month
// Add one day
utcDate.setUTCDate(utcDate.getUTCDate() + 1);
// Format the new date
let newDate = utcDate.toISOString().slice(0, 10);
console.log(newDate); // Output: 2024-03-12
此代码创建一个具有 UTC 时间的新
Date
对象,并向其添加一天,而不将其转换为本地时区。