javascript - 计算另一个时区的日期和时间

标签 javascript date datetime

这几天来,这一直让我陷入困境。

该应用程序采用 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/

相关文章:

ruby-on-rails - ruby 日期数学 : Why off by a day

javascript - 无法在 Recompse 中使用 Props

javascript - jQuery 延迟 : throw and catch an exception in the fail() callback

javascript - 测试 blob url

c# - System.DateTime.Now 和 System.DateTime.Today 的区别

date - 如何在 Excel 中根据天数计算日期

JQuery Datepicker 日期格式 - 如何从 dd/mm/yyyy 更改为 dd/mm/yy?

python - Pandas 用字符串转换日期