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
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 :
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!