Konvertieren eines Zeitversatzes in einen Ort/eine Zeitzone in Go
Wenn Sie mit Zeitdaten arbeiten, die Zeitversätze, aber keine Standortinformationen enthalten, ist dies der Fall ist notwendig, um ein nutzbares time.Location-Objekt zu erstellen, um den Versatz genau aufzuzeichnen und die Zeit relativ zum Standort des Benutzers auszugeben.
In Go eins kann die Funktion „FixedZone“ verwenden, um einen Standort mit einem festen Offset relativ zur UTC anzugeben. Um beispielsweise einen Standort für einen Offset von 11 zu erstellen, verwenden Sie den folgenden Code:
loc := time.FixedZone("UTC+11", +11*60*60)
Sobald der Standort definiert ist, stellen Sie ihn auf das gewünschte Zeitobjekt ein:
t = t.In(loc)
This passt das Zeitobjekt an den angegebenen Ort und seinen Zeitversatz an.
Die Ausführung des folgenden Codes veranschaulicht dies Prozess:
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()) }
Ausgabe:
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
Wie zu sehen ist, wird die ursprüngliche Zeit (in UTC) an den angegebenen Offset-Standort angepasst. Die Ausgabe zeigt auch, dass die Methode time.UTC() die ursprüngliche Zeit in UTC zurückgibt, während die Methode time.Location() die angepassten Standortinformationen zurückgibt.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich einen Zeitversatz in eine Zeitzone und einen Ort in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!