获取moment.js以显示适合于查看信息的日期时间

Ait*_*tch 11 javascript timezone datetime momentjs

以前的答案在这里向我指出了javascript日期处理的moment.js,我很高兴找到它.我可以很开心地解析和操纵.

我网站上的用户查看与不同物理站点/位置相关的信息,并且我希望在特定于该位置的时间内显示相关的日期时间,而不是用户位置.

每个物理站点都有一个时区属性字符串,如"Europe/London"或"Europe/Amsterdam"

我的日期时间都是以UTC格式存储和传送的.

有没有一种聪明的简单方法可以在任何指定的时区渲染我的moment.js对象?

tim*_*ood 10

从理论上讲,你可以做这样的事情.

moment.fn.formatInZone = function(format, offset) {
    return this.clone().utc().add('hours', offset).format(format);
}

moment().formatInZone('HH:mm:ss', 7);
moment().formatInZone('HH:mm:ss', -7);
Run Code Online (Sandbox Code Playgroud)

但是,这需要您知道正确的偏移量,因此不会考虑夏令时.