0

我正在构建一个基于浏览器的应用程序,用户可以在其中设置其应用程序的时区,例如“America/New_York”。我的应用程序的一部分允许用户设置提醒,我希望用户指定他们想要的,例如,在他们的时区设置 2020 年 1 月 28 日上午 9 点的提醒。这应该可以让他们在伦敦度假并使用应用程序设置此提醒,显示此提醒仍将始终位于纽约时区。我将日期作为 UTC 存储在应用程序数据库中,并且在将其转换回显示时,用户将根据他们的时区显示它。我在 Codesandbox 中尝试过这种方法,将日期转换为 UTC 以存储在数据库中:

const dateInNewYork = dayjs("2020-01-28 09:00:00", { timeZone: "America/New_York" }).toISOString();
// displays as 2020-03-29T11:00:00.000Z - shouldn't this be 2020-01-28T14:00:00.000Z ?

我在这里做错了什么?

4

1 回答 1

0
let timeSt = dayjs(time).unix()* 1000;
timeSt += 60*60*1000*8 //8 is means china beijing time.
let whatYouNeed = dayjs(timeSt).format("YYYY-MM-DD HH:mm");
于 2020-06-24T02:08:25.020 回答