web-dev-qa-db-fra.com

Utilisation de Moment.js pour afficher l’abréviation de la zone locale de l’utilisateur

J'essayais d'utiliser z ou zz au format pour afficher le fuseau horaire à la fin de la chaîne et j'ai constaté qu'il était obsolète. Z et ZZ fonctionnent pour afficher -0700, mais je veux plutôt afficher PDT.

J'ai le moment-fuseau horaire et le fichier de données, mais je ne vois pas comment l'utiliser pour déterminer le fuseau horaire local du client et afficher les éléments suivants:

2014-05-30T22: 56: 23.967 HAP

au lieu de:

2014-05-30T22: 56: 23.967

Est-il possible d'utiliser l'instant-timezone pour déterminer EST CST ... MST PST?

14
HypeXR

À partir de l'instant-timezone 0.1.0, vous pouvez utiliser le ajouts de mise en forme pour obtenir l'abréviation de a specific time zone:

moment().tz("America/Los_Angeles").format('z');  // PST or PDT

Depuis la version 0.5.0, vous pouvez maintenant devinez le local fuseau horaire de l'utilisateur } de l'utilisateur, qui, une fois combiné avec la technique ci-dessus, vous permet d'effectuer les opérations suivantes:

moment().tz(moment.tz.guess()).format('z');

En supposant que la supposition était correcte, l’abréviation associée sera affichée.

26
Matt Johnson

Ce n'est probablement pas un bon moyen, mais je ne voulais pas ajouter de script supplémentaire dans mon projet pour le fuseau horaire local. J'ai donc étudié un objet moment et obtenu le fuseau horaire local à l'aide du code que j'ai écrit ci-dessous:

 var test = momentUpdateDate._d.toString().substring(test.indexOf('(')+1, test.indexOf(')'));
0
user3459287