jquery – 获取时区名称

可以使用jQuery获取客户端时区的名称吗?

例如:Pacific S.A. Standard Time,Greenwich Standard Time,like this:https://en.wikipedia.org/wiki/List_of_time_zones_by_country

Timezonelist

Can I get the name of the time zone of the client by using jQuery?

不,jQuery只有一个日期/时间函数,它是$ .now()。

如果您的意思是JavaScript,答案仍然是否定的。您只能从date.getTimezoneOffset()获取时区偏移。您无法获得时区 – 至少不在所有浏览器中。请参阅the timezone tag wiki的标题为“Time Zone!= Offset”的部分

您可以在时区猜测,使用jsTimeZoneDetect库,但这只是一个猜测。它可能或可能不准确。

您现在也可以使用moment.js加上moment-timezone。它现在支持使用moment.tz.guess()进行时区猜测。

如果您可以保证您的用户正在运行支持全新ECMAScript Internationalization API的浏览器,则可以获取用户的时区:

Intl.DateTimeFormat().resolvedOptions().timeZone

但目前,这只适用于较新版本的Chrome,Opera和Edge。

老实说,最好的做法是让用户在某个地方选择他们的时区。您可以使用下拉列表,或者您可以使用基于地图的时区选择器 – like this one.您可以使用jsTimeZoneDetect作为默认值,但您的用户应该可以更改它。

此外,所有这些都将为您提供IANA时区标识符,例如America / Los_Angeles。但您给出的示例似乎是Windows时区ids(用于.net中的TimeZoneInfo)。你应该阅读the timezone tag wiki,然后也是这个问题:How to translate between Windows and IANA time zones?

http://stackoverflow.com/questions/18246547/get-name-of-time-zone

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:jquery – 获取时区名称