我如何收集访客的时区信息?我需要Timezone,以及GMT抵消时间.
我知道如何获得时区偏移,但我需要的是能够检测"美国/纽约"之类的东西.这甚至可能来自JavaScript还是我将不得不根据偏移量进行猜测?
我可以使用jQuery获取客户端的时区名称吗?
示例:Pacific SA标准时间,格林威治标准时间,如下所示:https://en.wikipedia.org/wiki/List_of_time_zones_by_country
我需要在JS中确定客户端时区(例如CET,GMT,EST).获得偏移很简单,但没有确定TZ所需的所有信息,至少不容易.我感觉有可能使用偏移的组合,无论是否正在使用DST等等,但我希望其他人已经完成了这项工作,特别是考虑到处理时间时的奇怪异常.
这个问题很相似,但问题和答案都是基于(错误的)假设,每个浏览器的DateString格式都包含时区的名称 - 它不是.这是一个实现细节.
因此,我现在被卡住了.
使用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)
,但我不知道如何来访问区域对象.
时刻时区结果带有短时区缩写,例如
moment.tz([2012, 0], 'America/New_York').format('z'); // EST
moment.tz([2012, 5], 'America/New_York').format('z'); // EDT
Run Code Online (Sandbox Code Playgroud)
是否有类似的方法可以使用 luxon 实现
我试过了offsetNameShort
,但是,结果GMT+5:30
是这样的日期"2020-05-23T13:30:00+05:30"
类似的东西DateTime.fromISO(""2020-05-23T13:30:00+05:30"").toFormat('z')
也不起作用
有没有办法+5:30
从格式中删除时区?
我已经尝试过下面的代码,但它们不起作用,因为它们包含日期和/或时间。我只需要获取时区名称。(OBS:时区名称,不是 IANA 时区)
是否可以强制 toLocaleString() 同时显示 timeZoneName“短”和“长”?
示例:2021 年 5 月 2 日,02:34:28 GMT+12:45 查塔姆标准时间
适用于现代浏览器 (2017-2018+) 和 IE11 的 Get_TimeZone_Name(Functions)!
<!DOCTYPE html>
<div id="Output"></div>
<script>
Date_Object = new Date();
document.getElementById("Output").innerText =
Date_Object.toLocaleString([], {timeZoneName:"short"}) + "\n" +
Date_Object.toLocaleDateString([], {timeZoneName:"short"}) + "\n" +
Date_Object.toLocaleTimeString([], {timeZoneName:"short"}) + "\n" +
"\n" +
Date_Object.toLocaleString([], {timeZoneName:"long"}) + "\n" +
Date_Object.toLocaleDateString([], {timeZoneName:"long"}) + "\n" +
Date_Object.toLocaleTimeString([], {timeZoneName:"long"}) + "\n" +
"\n" +
Date_Object.toLocaleString("en-US", {timeZoneName:"long"}) + "\n" +
Date_Object.toLocaleDateString("en-US", {timeZoneName:"long"}) + "\n" +
Date_Object.toLocaleTimeString("en-US", {timeZoneName:"long"}) + "\n" …
Run Code Online (Sandbox Code Playgroud)