Conversion du décalage horaire en emplacement/fuseau horaire dans Go
Lorsque vous travaillez avec des fuseaux horaires et des décalages horaires, il est courant de rencontrer des scénarios dans lesquels vous devez convertir un décalage temporel brut, représenté sous forme de chaîne, en un objet de localisation utilisable dans Go. Ceci peut être réalisé sans effort en utilisant les méthodes fournies par le package time.
Supposons que vous ayez obtenu un décalage horaire arbitraire, tel que " 1100". Pour créer un objet time.Location représentant ce décalage, utilisez simplement la fonction FixedZone comme suit :
loc := time.FixedZone("UTC+11", +11*60*60)
Cette fonction crée un emplacement avec le nom et le décalage spécifiés en secondes.
Pour associer l'heure avec cet emplacement nouvellement créé, utilisez la méthode In :
t = t.In(loc)
Cette opération modifie l'heure t pour refléter l'emplacement spécifié et met à jour son décalage en conséquence.
Voici un exemple qui démontre la conversion et la sortie ultérieure de l'heure dans différents contextes :
package main import ( "fmt" "time" ) func main() { loc := time.FixedZone("UTC+11", +11*60*60) t := time.Now() // Output the original time and location fmt.Println(t) // Output: 2023-09-13 18:37:08.729331723 +0000 UTC fmt.Println(t.Location()) // Output: UTC // Apply the new location to the time t = t.In(loc) // Output the modified time and location fmt.Println(t) // Output: 2023-09-14 05:37:08.729331723 +1100 UTC+11 fmt.Println(t.Location()) // Output: UTC+11 // Output the UTC equivalent of the modified time fmt.Println(t.UTC()) // Output: 2023-09-13 18:37:08.729331723 +0000 UTC fmt.Println(t.Location()) // Output: UTC+11 }
Ce code montre comment vous pouvez convertir un décalage temporel en un objet de localisation et appliquer à une heure pour obtenir des représentations précises par rapport aux différents fuseaux horaires.
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!