Maison >développement back-end >Golang >Comment construire une instance time.Time avec un décalage de fuseau horaire spécifique dans Go ?
Construire l'heure. Heure avec décalage de fuseau horaire
Dans le domaine du chronométrage, il est crucial de gérer les fuseaux horaires avec précision pour les applications sophistiquées. Cela implique de construire des instances time.Time qui intègrent des décalages de fuseau horaire spécifiques.
Prenons l'exemple d'une entrée de journal Apache :
[07/Mar/2004:16:47:46 -0800]
Après avoir analysé avec succès les composants individuels (année, mois, jour , heure, minute, seconde et fuseau horaire), l'étape suivante consiste à construire une instance time.Time qui intègre le fuseau horaire "-0800" offset.
Utilisation de time.FixedZone()
À cette fin, vous pouvez utiliser time.FixedZone(). Cette fonction vous permet de construire un time.Location avec un décalage fixe. Voici un exemple :
loc := time.FixedZone("myzone", -8*3600) nativeDate := time.Date(2019, 2, 6, 0, 0, 0, 0, loc) fmt.Println(nativeDate)
Sortie :
2019-02-06 00:00:00 -0800 myzone
Utilisation de time.Parse()
Si le Le décalage du fuseau horaire est disponible sous forme de chaîne, vous pouvez utiliser time.Parse() pour l'interpréter. Utilisez une chaîne de mise en page qui contient uniquement le décalage de la zone de référence :
t, err := time.Parse("-0700", "-0800") fmt.Println(t, err)
Sortie :
0000-01-01 00:00:00 -0800 -0800 <nil>
Comme le montre la sortie, l'heure résultante.Le temps a un décalage de zone de -0800 heures.
Terminé Exemple
En incorporant les techniques ci-dessus, l'exemple original peut être réécrit comme suit :
t, err := time.Parse("-0700", "-0800") if err != nil { panic(err) } nativeDate := time.Date(2019, 2, 6, 0, 0, 0, 0, t.Location()) fmt.Println(nativeDate)
Sortie :
2019-02-06 00:00:00 -0800 -0800
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!