Existe-t-il un moyen fiable d'obtenir un fuseau horaire à partir du navigateur client? J'ai vu les liens suivants, mais je veux une solution plus robuste.
- Obtenir le fuseau horaire du client en JavaScript (5 réponses )
Réponses
Trop de publicités?Regardez ce site pageloom c'est utile
téléchargez jstz.min.js et ajoutez une fonction à votre page html
<script language="javascript">
function getTimezoneName() {
timezone = jstz.determine_timezone()
return timezone.name();
}
</script>
et appelez cette fonction depuis votre balise display
Pour l'instant, le meilleur pari est probablement jstz comme suggéré dans mbayloon de réponse.
Pour être complet, il convient de mentionner qu'il existe une norme sur son chemin: Intl. Vous pouvez voir cela en Chrome déjà:
> Intl.DateTimeFormat().resolved.timeZone
"America/Los_Angeles"
(Ce n'est pas réellement suivre la norme, ce qui est une raison de plus pour coller avec la bibliothèque)
Voici un jsfiddle
Son fournit l'abbrivation du fuseau horaire de l'utilisateur actuel.
Voici l'échantillon de code
var tz = jstz.determine();
console.log(tz.name());
console.log(moment.tz.zone(tz.name()).abbr(new Date().getTime()));