使用 moment.js 检测当前用户时区的 ID

2022-01-16 00:00:00 timezone javascript momentjs

我正在寻找一种检测浏览器时区 ID 的方法(如 Olson 表中所定义)但我不关心确切的 ID,我只需要与用户的 ID 相同的时区 ID(例如,如果用户在巴黎,Europe/Rome"就可以了).

What I'm looking for is a way to detect the browser's timezone ID (as defined in the Olson tables) but I don't care for the exact ID, I just need the ID of a timezone that works the same as the user's one (for example "Europe/Rome" is fine if the user is in Paris).

我对当前的偏移量不感兴趣,我真的需要时区,以便我可以将其发送到服务器以计算其他日期(服务器也有 Olson 表).

I'm not interested in the current offset, I really need the timezone so that I can send it to the server to do computations for other dates (the server has the Olson tables too).

理论上,因为我已经使用了 Moment.js 时区库 并且已经包含了 Olson 表,所以我不需要其他任何东西,但我没有找到任何 API 来进行检测.我不知道它是否隐藏在某个地方,或者是否有人已经写了它.问题之一是当前时区插件似乎将其数据保密.

Theoretically, as I already use Moment.js timezone library and have included the Olson tables, I don't need anything else, but I don't find any API to do the detection. I don't know if it's hidden somewhere or if somebody has it already written. One of the problems is that the current timezone plugin seems to keep its data private.

我不'想要一个基于 Olson 表的另一个副本或提取的集成的解决方案(我必须维护),我知道有一些库复制它们,我想使用我在 Moment.js 中已有的那些.

I dont' want a solution based on the integration of yet another copy or extract of the Olson tables (which I would have to maintain), I know there are a few libraries duplicating them, I want to use the ones I already have in Moment.js.

推荐答案

moment 现在有 guess() API 作为 描述在这里

moment now has the guess() API as described here

相关文章