Heim >Backend-Entwicklung >Golang >Wie erstelle ich ein time.Time-Objekt mit einem bestimmten Zeitzonenversatz?

Wie erstelle ich ein time.Time-Objekt mit einem bestimmten Zeitzonenversatz?

Barbara Streisand
Barbara StreisandOriginal
2024-12-13 16:35:17576Durchsuche

How to Create a time.Time Object with a Specific Timezone Offset?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn