Maison > développement back-end > Golang > Pourquoi « time.Parse() » de Go ne parvient-il pas à analyser avec précision les identifiants de fuseau horaire ?

Pourquoi « time.Parse() » de Go ne parvient-il pas à analyser avec précision les identifiants de fuseau horaire ?

Barbara Streisand
Libérer: 2024-12-01 06:33:14
original
937 Les gens l'ont consulté

Why Does Go's `time.Parse()` Fail to Parse Timezone Identifiers Accurately?

Time.Parse() de Go n'analyse pas les identifiants de fuseau horaire

Dans le code fourni, la fonction time.Parse() est utilisée pour analyser une chaîne dans un objet time.Time. Cependant, la fonction n'analyse pas l'identifiant de fuseau horaire dans la chaîne, ce qui entraîne un objet temporel qui n'est pas précis.

Selon la documentation time.Parse(), le comportement par défaut de la fonction est d'utiliser le le fuseau horaire de l'emplacement actuel lorsque vous rencontrez une abréviation de zone comme MST. Cela explique pourquoi les première et troisième lignes de la sortie sont incorrectes car l'emplacement actuel est défini sur CST. Plus précisément, la chaîne « EDT » est interprétée comme « Eastern Daylight Time » et le décalage horaire pour CST est utilisé, qui est -0500.

Pour éviter ce problème et analyser correctement les identifiants de fuseau horaire, le time.ParseInLocation () peut être utilisée. Cette fonction vous oblige à spécifier l'emplacement à utiliser lors de l'analyse de la chaîne temporelle. Dans ce cas, l'emplacement « Amérique/New_York » pourrait être utilisé pour analyser correctement l'identifiant de fuseau horaire « EDT ».

Alternativement, une chaîne de mise en page dans time.Parse() peut être modifiée pour spécifier explicitement le décalage dans la chaîne de mise en page elle-même, telle que :

format := "2006 01 02 15:04 -0400 MST"
tn, _ := time.Parse(format, date)
Copier après la connexion

L'utilisation de l'une de ces méthodes garantira que time.Parse() analyse avec précision les identifiants de fuseau horaire et crée un objet time.Time avec le décalage correct.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal