Maison >développement back-end >Golang >Comment convertir un décalage horaire en fuseau horaire et en emplacement dans Go ?

Comment convertir un décalage horaire en fuseau horaire et en emplacement dans Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-11 16:25:14928parcourir

How to Convert a Time Offset to a Timezone and Location in 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!

Déclaration:
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