Maison >développement back-end >Golang >Comment convertir un décalage horaire en fuseau horaire et en emplacement dans Go ?
Conversion d'un décalage horaire en un emplacement/fuseau horaire dans Go
Lorsque vous travaillez avec des données temporelles qui incluent des décalages horaires mais manquent d'informations de localisation, il est nécessaire pour créer un objet time.Location utilisable pour enregistrer avec précision le décalage et afficher l'heure par rapport à l'emplacement de l'utilisateur.
Dans Go, on peut utiliser la fonction FixedZone pour spécifier un emplacement avec un décalage fixe par rapport à UTC. Par exemple, pour créer un emplacement pour un décalage de 11, utilisez le code suivant :
loc := time.FixedZone("UTC+11", +11*60*60)
Une fois l'emplacement défini, définissez-le sur l'objet temporel souhaité :
t = t.In(loc)
Ceci ajustera l'objet temporel à l'emplacement spécifié et à son décalage horaire.
L'exécution du code suivant illustre ceci processus :
package main import ( "fmt" "time" ) func main() { loc := time.FixedZone("UTC+11", +11*60*60) t := time.Now() fmt.Println(t) fmt.Println(t.Location()) t = t.In(loc) fmt.Println(t) fmt.Println(t.Location()) fmt.Println(t.UTC()) fmt.Println(t.Location()) }
Sortie :
2009-11-10 23:00:00 +0000 UTC m=+0.000000001 UTC 2009-11-11 10:00:00 +1100 UTC+11 UTC+11 2009-11-10 23:00:00 +0000 UTC UTC+11
Comme on le voit, l'heure d'origine (en UTC) est ajustée à l'emplacement de décalage spécifié. Le résultat montre également que la méthode time.UTC() renvoie l'heure d'origine en UTC, tandis que la méthode time.Location() renvoie les informations de localisation ajustées.
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!