Obtenir le nom de fuseau horaire
Puis-je obtenir le nom du fuseau horaire du client à l'aide de jQuery?
Exemple: Pacific S. A. Standard Time, Heure de Greenwich Standard, comme ceci: https://en.wikipedia.org/wiki/List_of_time_zones_by_country
- La sortie de
new Date()
estWed Aug 14 2013 22:02:13 GMT-0700 (Pacific Daylight Time)
, pouvez-vous l'utiliser? - Il n'y a pas natif JS/jQuery fonction qui fait cela. Une façon de le faire est de combiner JS (AJAX) avec le code côté serveur, comme PHP. Regardez en haut à répondre à ceci thread. Il combine JS et PHP, et fait ce que vous voulez.
- Vous ne pensez pas que ma réponse satisfait à l'exigence? C'est le même nom à partir de la liste de l'OP a donné
- Mendes: Vous avez raison, mais j'ai d'expliquer l'idée d'utiliser AJAX pour cette mission. Il peut être plus souple avec le code côté serveur (en supposant qu'il a besoin de quelque chose de plus spécifique que votre réponse)
- Mendes Dans Safari sur Mac , il n'Mercredi 14 Août 2013 à 22:02:13 GMT-07 h 00 (Heure du Pacifique), comme Mercredi 14 Août 2013 à 22:02:13 GMT-0700 (PCI). Pas ma réponse dont j'ai besoin, j'ai besoin d'obtenir le Fuseau horaire Nom de Pacific S. A. Standard Time, Heure de Greenwich Standard . merci pour la réponse
- Il y a suffisamment d'informations à travers les commentaires et y répondre pour vous afin de résoudre votre problème, vous pouvez poster ce que vous venez avec.
- double possible de JavaScript fuseau horaire des informations sur la façon d'obtenir de l'America/Los_Angeles (ou l'équivalent)
- voir ce plugin, il vous donnera le fuseau horaire nom et beaucoup plus kevalbhatt.github.io/WorldMapGenerator
Vous devez vous connecter pour publier un commentaire.
Pas. jQuery n'a qu'une fonction date/heure, ce qui est
$.now()
.Si vous signifiait JavaScript, la réponse est toujours pas. Vous ne pouvez obtenir un fuseau horaire décalage de
date.getTimezoneOffset()
. Vous ne pouvez pas obtenir une zone de temps - au moins pas dans tous les navigateurs. Reportez-vous à le fuseau horaire de la balise wiki's section intitulée:"Time Zone != Offset"
Vous pouvez deviner à l'heure de la zone, à l'aide de la jsTimeZoneDetect de la bibliothèque, mais c'est juste une supposition. Il peut ou peut ne pas être exacte.
Vous pouvez également utiliser moment.js avec le moment-timezone ajouter sur. Il supporte maintenant l'heure de la zone de deviner avec
moment.tz.guess()
.Si vous pouvez garantir à vos utilisateurs exécutent dans un environnement qui soutient pleinement le ECMAScript l'Internationalisation de l'API, vous pouvez obtenir le temps de l'utilisateur de la zone comme ceci:
Vous pouvez consulter la tableau de compatibilité, sous
DateTimeFormat
-resolvedOptions().timezone defaults to the host environment
pour déterminer les environnements en.Honnêtement, la meilleure chose à faire est de simplement donner à votre utilisateur un écran quelque part qu'ils peuvent choisir leur fuseau horaire. Vous pouvez utiliser une liste déroulante, ou vous pouvez utiliser une carte basée sur le fuseau horaire de sélecteur - comme celui-ci. Vous pouvez utiliser jsTimeZoneDetect comme valeur par défaut, mais l'utilisateur doit être en mesure de le changer.
Aussi, tous ces va vous donner une IANA temps identificateur de la zone, tels que
America/Los_Angeles
. Mais les exemples que vous citez semblent être de fuseau horaire Windows id (pour une utilisation avecTimeZoneInfo
dans .net). Vous devriez lire le fuseau horaire de la balise wiki, et puis aussi cette question: Comment traduire entre Windows et de l'IANA fuseaux horaires?(new Date).toString().split('(')[1].slice(0, -1)
La sortie de
new Date()
estWed Aug 14 2013 22:02:13 GMT-0700 (Pacific Daylight Time)
, pouvez-vous l'utiliser? Si vous n'avez pas besoin du nom officiel, vous pouvez simplement utiliser ce qui se trouve entre les parenthèsesComme une alternative ci-dessous est la manière d'obtenir le fuseau horaire avec pur javascript:
Obtenir le fuseau horaire actuel standard nom:
Trouvé ce script j'utilise avec moment.js:
http://pellepim.bitbucket.org/jstz/
Ce script permet de récupérer le nom du fuseau horaire du navigateur, comme dans cet exemple:
Il n'est pas en jQuery, mais...
Peut pas penser à une façon de le faire à l'aide de Jquery. Vous pouvez obtenir de la télécommande utilisateur, le nom du pays à l'aide de PHP, puis de comparer la sortie de:
1) un tableau des pays qui appliquent la lumière gain de temps (pas beaucoup).
2) date actuelle.
Pour obtenir les utilisateurs, pays:
Ce monde des fuseaux Horaires map lien peut être utilisé pour créer le tableau.
http://www.worldtimezone.com/daylight.html
Espère que cette idée fonctionne pour vous!
De ces Liens peut vous aider le fuseau horaire à l'aide de Jquery
ou code suivant peut aider à u out
caisse JSFIddle mise en œuvre ou pour de plus amples explications, veuillez visiter Solution par Scott
Pour Seul Fuseau
L'alerte popup affiche le Fuseau horaire ainsi, que vous pouvez re-facteur selon vos besoins, check it out en JS Fiddle
à l'aide de moment.js + moment-timezones.js
moment.tz.guess();
https://github.com/moment/moment-timezone/issues/138
En javascript à l'aide de l'expression régulière,
Je sais que cette question est ancienne, mais voici une petite solution je suis venu avec:
Je n'ai pas testé cette solution, mais pour mon navigateur, cela me donne:
Espère que cela aide quelqu'un là-bas.
Il n'y a pas de manière directe, mais vous pouvez le faire :
var dd = new Date();
var d = dd.toString();
var startOff= d.indexOf('(') + 1;
var endOff= d.lastIndexOf(')');
var str = d.substring(startOff , endOff);
J'ai créé un JS fiddle, où vous voyez avec des alertes :
JSFiddle