使用偏移值获取时区缩写

the*_*eks 14 javascript timezone momentjs

使用moment.js(使用moment-timezone),我想获得当前语言环境的时区缩写(例如PST).

var now = Date.now(); // 1423254073931
var zone = moment(now).zone(); // 480
var timezone = 
Run Code Online (Sandbox Code Playgroud)

我如何获得时区缩写?我在文档和其他地方看到的所有示例都选择了一个特定的区域"America/New_York".

从文档,它看起来像我可以得到信息的的区段对象具有zone.abbr(timestamp),但我不知道如何来访问区域对象.

的jsfiddle

Mat*_*int 31

标题和问题是不同的.在标题中,您询问如何使用偏移来获取它 - 这是不可能的.有许多时区共享相同的偏移量,因此无法区分时区缩写和单独的偏移.

但是在这个问题中,您询问了如何获取当前区域设置的缩写,以获取特定的时间戳.

一般问题是,没有完全可靠的方法来检测当前时区.这个在这个答案中讨论.因此,时刻 - 时区无法确定地告知默认情况下应加载哪个时区.

还有其他一些选择.


sta*_*bit 5

最新版本的moment.js会给你时区猜测: PR#220 例如:moment.tz.guess(); will result in 'America/New_York'