Heim >Backend-Entwicklung >Golang >Wie erstelle ich ein time.Time-Objekt mit einem bestimmten Zeitzonenversatz?
Erstellen eines Zeitobjekts mit einem Zeitzonenversatz
Wie erstelle ich ein time.Time-Objekt, das einen bestimmten Zeitzonenversatz enthält? Angenommen, wir haben ein Apache-Protokoll mit einem Zeitstempel im Format „[07/Mar/2004:16:47:46 -0800]“. Nachdem wir es in seine Komponenten analysiert haben, möchten wir ein time.Time-Objekt erstellen, das den Zeitzonenversatz „-0800“ enthält.
Um dieses Problem zu beheben, verwenden Sie time.FixedZone(), um eine benutzerdefinierte time.Location mit zu erstellen den gewünschten Offset. Zum Beispiel:
loc := time.FixedZone("myzone", -8*3600) nativeDate := time.Date(2019, 2, 6, 0, 0, 0, 0, loc)
Hier ist „myzone“ der willkürliche Name des benutzerdefinierten Standorts und „-8*3600“ stellt die Zeitdifferenz zur UTC in Sekunden dar.
Alternativ Wenn Sie den Zeitzonen-Offset als String haben, verwenden Sie time.Parse() mit einem maßgeschneiderten Layout-String:
t, err := time.Parse("-0700", "-0800") if err != nil { panic(err) } nativeDate := time.Date(2019, 2, 6, 0, 0, 0, 0, t.Location())
Dieser Ansatz legt den Offset fest Verwenden Sie die Zeichenfolge und stellen Sie sicher, dass das resultierende time.Time-Objekt die gewünschte Zeitzone widerspiegelt.
Das obige ist der detaillierte Inhalt vonWie erstelle ich ein time.Time-Objekt mit einem bestimmten Zeitzonenversatz?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!