如何使用 JavaScript 更改日期的时区而不更改时间

how do i use javascript change timezone of date without changing the time

本文关键字:时间 时区 日期 何使用 JavaScript      更新时间:2023-09-26

我的用户本地时区可能与他们设置事件开始时间的设施不同。我想花时间(比如上午 10 点)并将 javascript 日期对象更改为设施时区的上午 10 点,而不是本地时区。我确实知道本地和所需时区的 UTC 偏移量。我无法将它们全部链接在一起。这是我的例子。

var localOffset = 420;
var desiredOffset = 360;
var eventStartDate = moment(localStartDate);
eventStartDate.subtract(localOffset - desiredOffset);

我的原始时间是 MDT,我想要的是 CDT,但上午 10 点的开始时间需要保持不变。如果我可以在不使用momentjs的情况下做到这一点,那很好。

查看 subtract 方法的文档:

http://momentjs.com/docs/#/manipulating/subtract/

您的通话中缺少一个单元。您似乎正在使用分钟数,因此您的呼叫应如下所示:

eventStartDate.subtract(localOffset - desiredOffset, 'minutes');