Dans Go, vous pouvez rencontrer des situations dans lesquelles vous disposez de données temporelles avec uniquement des décalages et manquez d'informations de localisation. Pour utiliser efficacement ces données temporelles et garantir des conversions de fuseau horaire précises, il est avantageux de créer un objet time.Location utilisable représentant le décalage horaire.
Pour y parvenir, vous pouvez utiliser la fonction time.FixedZone. Il prend deux paramètres :
En combinant ces paramètres, vous pouvez créer un objet de localisation avec le décalage spécifié. Par exemple :
loc := time.FixedZone("UTC+11", +11*60*60)
Une fois que vous avez l'objet de localisation, vous pouvez l'attribuer à votre objet temporel pour définir son emplacement :
t = t.In(loc)
Cela garantira que votre objet time.Time a à la fois un décalage horaire et un emplacement désigné.
Voici un exemple complet pour une meilleure compréhension :
package main import ( "fmt" "time" ) func main() { offset := "+1100" // Parse the time using the original offset t, err := time.Parse("15:04 GMT-0700", "15:06 GMT"+offset) if err != nil { fmt.Println("Parsing failed:", err) } // Create a location object using time.FixedZone loc := time.FixedZone("UTC+11", +11*60*60) // Set the time object's location t = t.In(loc) // Output the time in different contexts fmt.Println("Original time:", t) fmt.Println("Location:", t.Location()) fmt.Println("UTC:", t.UTC()) // A more concise example: t = time.Now().In(time.FixedZone("UTC+11", +11*60*60)) fmt.Println("Concise example:", t) }
Ceci Le code enregistrera désormais correctement le décalage UTC et les informations de localisation pour le décalage horaire spécifié. En tirant parti de cette technique, vous pouvez gérer efficacement les données temporelles avec des décalages variables, garantissant ainsi des conversions et des représentations précises des 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!