这几天来,这一直让我陷入困境。
该应用程序采用 JavaScript 编写。
我希望向另一时区的观看者显示一个时区的时间。
我将存储我想要显示其时间和日期的区域相对于 GMT 的时区偏移(夏令时将考虑到偏移量)。
我计划将时间转换为 Epoch,然后添加或减去偏移量,然后转换为 DD MM YYYY HH MM SS 作为计算的日期。
我已经到了只见树木不见森林的地步了。关于如何实现这一目标的任何想法。
最佳答案
由于日期基于 UTC 时间值,因此您只需调整所需的偏移量并读取 UTC 值,例如
/* @param {number} offset - minutes to subtract from UTC to get time in timezone
**
*/
function getTimeForOffset(offset) {
function z(n){return (n<10?'0':'')+n}
var now = new Date();
now.setUTCMinutes(now.getUTCMinutes() - offset);
return z(now.getUTCHours()) + ':' + z(now.getUTCMinutes()) + ':' + z(now.getUTCSeconds());
}
// Time for AEST (UTC+10)
console.log(getTimeForOffset(-600));
// Time for CEST (UTC+02)
console.log(getTimeForOffset(-120));
请注意,该偏移量与 javascript 日期时区偏移量具有相同的符号,这与添加到 UTC 以获取本地时间的典型值相反。
关于javascript - 计算另一个时区的日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32002670/