【发布时间】:2018-10-30 23:42:47
【问题描述】:
我以为我能解决这个问题,但我无法解决。
场景:
1) 用户选择一个日期小部件,该小部件传回本地时区的日期,比如上午 10 点“澳大利亚/悉尼”
2) 用户然后通过标识符“澳大利亚/布里斯班”选择一个不同的时区(这是一个不同的 TZ,可能有夏令时等...)假设它的 +1 小时
我想要做的是有一个函数,它接受一个代表 [10am 'Australia/Sydney'] 的 Date 对象并向我返回一个代表 [10am 'Australia/Brisbane] 的新日期,即基础 UTC 时间将有移动+1小时
function convertToTimezone(date, newTimezone) {
... what goes here? ...
return newDate;
}
我一直在纠结时刻时区,但我无法让它做我想做的事。
【问题讨论】:
-
I cant get it to do what I want直截了当,不清楚你想做什么 -
但在夏令时期间,悉尼的上午 10 点是布里斯班的上午 9 点(以及 UTC 前一天的 23:00)。这就是为什么您应该始终在幕后使用 UTC 并且只在 UI 中显示当地时间。因此,如果布里斯班有人在当地时间 13:00 预订会议,则为 03:00 UTC。现在任何人都可以打开会议并查看他们的当地时间,因此对于悉尼的某人来说是 14:00 (UTC+11)、珀斯 11:00 (UTC+8) 和穆拜 08:30 (UTC+5:30)等等……
标签: javascript date moment-timezone