我需要一种方法来检测给定日期对象的时区.我不想要偏移,也不想要完整的时区名称.我需要获得时区缩写.例如,GMT,UTC,PST,MST,CST,EST等......
这可能吗?我得到的最接近的是解析date.toString()的结果,但即使这样也不会给我一个缩写.它给了我时区的长名.
我想知道javascript中是否有内置函数,具有时区信息,如
America/Los_Angeles(或等价物)可以根据需要考虑的因素来确定吗?
类似于http://momentjs.com/timezone/在它的主页上做了吗?或者是否有这些区域的列表,我可以尝试建立自己的库?从我收集的内容http://momentjs.com/timezone/以vaule America/Los_Angeles为例来确定偏移量,但我找不到如何做相反的事情.
我在使用 moment.js 显示时区时遇到问题。
我尝试使用此代码:
var result = moment(someDate).format("MM/DD/YYYY HH:mm A Z");
并且我得到回报,例如: 08/05/2015 06:18 PM +02:00,这很好,但我希望我的输出像08/05/2015 06:18 PM WEDT或类似的东西,带有时区的缩写。
尝试使用此代码,但最后我得到了空时区:
var result = moment(someDate).format("MM/DD/YYYY HH:mm A z"); 
或者
var result = moment(someDate).format("MM/DD/YYYY HH:mm A zz");
更新
因此,正如@Matt Johnson 所建议的那样,我使用这种方法使用moment-timezone-with-data.js和tzdetect.js来显示时区:
var tzName = tzdetect.matches()[0];
var result = moment.tz(myDate, tzName).format("MM/DD/YYYY h:mm A zz");
如何在angularjs中从时区获取时区位置.我有这样的时区,GMT+5:30我想要位置名称Asia/Kolkata.
使用Javascript,是否可以根据用户的设备获取用户的时区名称(PDT,EST等)?
我试过的代码:
const timezone = jstz.determine()
const userTimezone = timezone.name()
但是我想以PDT,EST等方式获取用户的时区名称,而不是America / New_York。