Détecter l'ID de l'utilisateur courant le fuseau horaire à l'aide de moment.js

Ce que je cherche est un moyen de détecter le navigateur de l'ID de fuseau horaire (tel que défini dans la Olson tables) mais je ne se soucient pas de l'exactitude de l'ID, j'ai juste besoin de l'ID d'un fuseau horaire qui fonctionne de la même façon que l'utilisateur (par exemple, "Europe/Rome", est très bien si l'utilisateur est dans Paris).

Je ne suis pas intéressé par le décalage actuel, j'ai vraiment besoin de le fuseau horaire pour que je puisse l'envoyer au serveur pour faire les calculs pour les autres dates (le serveur a l'Olson tables de trop).

Théoriquement, comme je l'ai déjà utiliser Moment.js le fuseau horaire de la bibliothèque et ont inclus le Olson tables, je n'ai pas besoin d'autre chose, mais je ne trouve pas une API pour faire de la détection. Je ne sais pas si elle est cachée quelque part ou si quelqu'un l'a déjà écrit. L'un des problèmes est que le fuseau horaire actuel plugin semble conserver ses données privées.

Je n' voulez une solution basée sur l'intégration d'une copie ou d'un extrait de l'Olson tables (que j'aurais à gérer), je sais qu'il y a un peu de bibliothèques de les dupliquer, je veux utiliser ceux que j'ai déjà dans Moment.js.

  • bitbucket.org/pellepim/jstimezonedetect
  • Ce plugin contient un extrait des données de fuseau horaire. C'est ce que j'ai précisément voulu éviter.
  • Ce n'est pas vraiment un extrait, ceux qui sont bien documentées points de test. Il y a beaucoup de cas à considérer. Je comprends votre désir de coller avec maintenable données, mais je ne suis pas sûr qu'il est possible de prendre une approche directe.
  • Aussi, assurez-vous que vous vous rendez compte de la effets de ECMAScript 15.9.1.8. Moment.js est également affecté par cette dans beaucoup de façons.
  • C'est ES5 qui est de faire le mal. ES6 est mieux, mais presque tous les navigateurs d'aujourd'hui sont ES5. Voir aussi mon blog sur ce sujet
  • J' a mal compris : je pensais que votre citation est à partir d'un ES6 projet... j'ai toujours supposé que les navigateurs déjà mis en œuvre et utilisé un calendrier correct de la bibliothèque que ce n'est pas exactement un tout nouveau champ.
  • On pourrait le penser, mais apparemment les concepteurs de ECMAScript la pensée des fuseaux horaires étaient trop compliqués ou quelque chose comme ça. Il a été dans la spec depuis la 1.0.