使用Moment.js显示用户本地区域缩写

Hyp*_*eXR 15 javascript timezone momentjs

我试图在格式中使用z或zz来显示字符串末尾的时区,并发现它已被弃用.Z和ZZ可以显示-0700,但我希望它能显示PDT.

我有时间 - 时区和数据文件,但我无法弄清楚如何使用它来确定客户端的本地时区并显示如下内容:

2014-05-30T22:56:23.967 PDT

代替:

2014-05-30T22:56:23.967

是否可以使用时刻时区来确定EST CST ... MST PST?

Mat*_*int 29

从时刻时区0.1.0开始,您可以使用格式添加来获取特定时区的缩写:

moment().tz("America/Los_Angeles").format('z');  // PST or PDT
Run Code Online (Sandbox Code Playgroud)

从版本0.5.0开始,您现在可以猜测用户的本地时区,当与上述技术结合使用时,您可以执行以下操作:

moment().tz(moment.tz.guess()).format('z');
Run Code Online (Sandbox Code Playgroud)

假设猜测正确,它将显示相关的缩写.

  • @PK-1825 - 假设 IST 只有一种解释。事实上,爱尔兰、以色列和印度都使用缩写“IST”。因此,不可能创建这样的函数。 (2认同)

jjb*_*kir 5

从最新时刻的时区文档开始

moment.tz(String).format("Z z"); // -08:00 PST
moment.tz(String).zoneAbbr();    // PST
moment.tz(String).zoneName();    // PST
Run Code Online (Sandbox Code Playgroud)

一些例子:

moment.tz(moment.tz.guess()).zoneAbbr(); // PST
moment.tz("America/New_York").zoneAbbr(); // EST
Run Code Online (Sandbox Code Playgroud)