带时区的javascript时钟

标签 javascript timezone momentjs

想在我的网站上以秒数显示时间,例如 this one .我知道有很多类似的问题,但我无法找到适合我的解决方案。问题是,所有处理时区的 javascript 时钟都是通过偏移量完成的。

不过,我使用的是 Django 时区:“UTC”、“Asia/Harbin”、... Javascript 默认从本地时间创建新日期,但我允许用户更改他/她的时区。如何将这个更改后的时区传递给 javascript? 我尝试了 moment-timezone,但它以某种方式忽略了 .tz()。

<script>
function startTime() {
    document.getElementById('time').innerHTML = moment().tz("{{ TIME_ZONE }}").format('HH:mm:ss');
    var t = setTimeout(function(){startTime()},500);
}
</script>

这样时间在流逝,但改变时区对时间没有影响。我该如何正确执行此操作?

最佳答案

可能的问题是您正在加载没有任何数据的时刻时区。尝试使用 moment-timezone 站点上的预打包包之一,例如 moment-timezone-2010-2020.js 或 moment-timezone-all-years.js。

参见 moment-timezone docs .

关于带时区的javascript时钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25404989/

相关文章:

javascript - 不同时区不同设备上的 Unix 时间

javascript - 如何在字符串中的多个位置插入字符串?

javascript - 时刻: Check to see if date was within the last 3 days

javascript - 处理剑道调度程序中的销毁事件

c# - 从 DateTimeOffset 中删除时区偏移量?

Oracle如何将任何时区的时间戳转换为数据库服务器时区的日期

javascript - MomentJS 将 'a day ago' 更改为 '1d'

javascript - 用逗号将字符串拆分为数字,然后打印最终会跳过 1 个 y 值

javascript - 将突出显示的文本保存到字符串

javascript - 检测 IE 的 Metro UI 版本