Afficher la date et l'heure sans changer de fuseau horaire à l'aide de MomentJs
P粉952365143
P粉952365143 2023-10-17 22:58:38
0
2
646

Parfois, je finis par voir une date/heure sur l'interface du site Web qui a été ajustée à un fuseau horaire spécifique, et je souhaite qu'elle s'affiche telle quelle, quel que soit le fuseau horaire de l'utilisateur.

Par exemple, disons que j'ai ce rendez-vous :

2015-01-22T16:11:36.36-07:00

-07h00 signifie que c'est l'heure des Rocheuses, MomentJs le sait et s'adaptera automatiquement aux utilisateurs d'autres fuseaux horaires. Par exemple, disons que j'affiche une date heure avec le code suivant :

moment('2015-01-22T16:11:36.36-07:00').format('l LT')

Les utilisateurs à l'heure centrale (-06h00) verront l'heure à 17h11 au lieu de 16h11. Comment puis-je dire à MomentJs de ne pas ajuster le fuseau horaire de l'utilisateur et d'afficher la date/heure telle quelle ?

P粉952365143
P粉952365143

répondre à tous(2)
P粉520545753

Vous pouvez définir le décalage manuellement à l'aide de la méthode utcOffset.

moment().utcOffset(0, true).format()
P粉066725148

Utilisez la méthode utc() du moment pour supprimer le fuseau horaire et tout afficher en temps universel.

moment.utc('2015-01-22T16:11:36.36-07:00').format('l LT')

Cela affichera l’heure UTC sans aucun décalage de fuseau horaire. Si vous souhaitez afficher l'heure telle qu'enregistrée dans le fuseau horaire de l'utilisateur/serveur, vous pouvez analyser les informations de zone lors de la construction de l'instance moment et lui faire utiliser le fuseau horaire enregistré dans la chaîne analysée.

moment.parseZone('2015-01-22T16:11:36.36-07:00').format('l LT');

En utilisant l'une ou l'autre de ces deux méthodes, vous devriez envisager de marquer l'heure d'une manière ou d'une autre pour refléter le fuseau horaire auquel elle correspond. Ne pas le faire peut entraîner beaucoup de confusion pour l'utilisateur final.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal