Maison > développement back-end > Golang > Pourquoi « time.Parse » de Go interprète-t-il mal les identifiants de fuseau horaire comme « EDT » ?

Pourquoi « time.Parse » de Go interprète-t-il mal les identifiants de fuseau horaire comme « EDT » ?

Patricia Arquette
Libérer: 2024-11-25 14:53:12
original
222 Les gens l'ont consulté

Why Does Go's `time.Parse` Misinterpret Timezone Identifiers Like

Pourquoi la fonction Time.Parse de Go n'analyse-t-elle pas l'identifiant de fuseau horaire ?

Lors de l'analyse d'une chaîne de temps à l'aide de la fonction time.Parse de Go, les identifiants de fuseau horaire tels que « MST » sont interprétés en fonction du paramètre « emplacement actuel ». Si l'emplacement actuel ne reconnaît pas l'abréviation, l'heure est enregistrée comme étant dans un emplacement fabriqué avec un décalage de zéro.

À titre d'illustration, l'extrait de code suivant illustre le problème :

date := "2018 08 01 12:00 EDT"
tn, _ := time.Parse(format, date)

fmt.Println(tn) // Print +0000 despite EDT indicating a -0400 offset
Copier après la connexion

Ce code analyse la chaîne de date au format "2006 01 02 15:04 MST" à l'aide de la fonction time.Parse, puis imprime l'heure résultante objet. Cependant, il imprime " 0000 " au lieu du " -0400 " attendu car l'emplacement actuel utilisé par la fonction ne reconnaît pas l'abréviation " EDT ".

Pour éviter ce problème, vous pouvez utiliser des méthodes alternatives d'analyse. chaînes de temps :

  • Spécifiez un décalage de zone numérique : Analysez à l'aide d'une mise en page qui inclut le décalage de zone numérique, par exemple, 2006 01 02 15:04 -0400.
  • Utiliser ParseInLocation : Spécifiez explicitement l'emplacement à l'aide de time.LoadLocation, par exemple, time.ParseInLocation(format, date, time.LoadLocation("America/New_York")).

En tirant parti de ces méthodes, vous pouvez analyser avec précision les chaînes horaires avec les abréviations de fuseau, garantissant ainsi l'interprétation correcte des informations de fuseau horaire.

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