Heim >Backend-Entwicklung >Golang >Wie konvertiert man in Go einen Zeitversatz-String in ein Time.Location-Objekt?

Wie konvertiert man in Go einen Zeitversatz-String in ein Time.Location-Objekt?

Barbara Streisand
Barbara StreisandOriginal
2024-12-14 19:29:13185Durchsuche

How to Convert a Time Offset String to a Time.Location Object in Go?

Zeitversatz in Ort/Zeitzone in Go umwandeln

Bei der Arbeit mit Zeitzonen und Versätzen kommt es häufig vor, dass Sie auf Situationen stoßen, in denen dies erforderlich ist Konvertieren Sie einen rohen Zeitversatz, der als Zeichenfolge dargestellt wird, in ein verwendbares Standortobjekt in Go. Dies kann mühelos mit den im Zeitpaket bereitgestellten Methoden erreicht werden.

Angenommen, Sie haben einen beliebigen Zeitversatz erhalten, z. B. „1100“. Um ein time.Location-Objekt zu erstellen, das diesen Offset darstellt, verwenden Sie einfach die FixedZone-Funktion wie folgt:

loc := time.FixedZone("UTC+11", +11*60*60)

Diese Funktion erstellt einen Standort mit dem angegebenen Namen und Offset in Sekunden.

Zur Zuordnung Um die Zeit mit diesem neu erstellten Standort zu ermitteln, verwenden Sie die In-Methode:

t = t.In(loc)

Dieser Vorgang ändert die Zeit t, um den angegebenen Standort widerzuspiegeln, und aktualisiert seinen Offset entsprechend.

Hier ist ein Beispiel, das die Konvertierung und anschließende Ausgabe der Zeit in verschiedenen Kontexten demonstriert:

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
}

Dieser Code zeigt, wie Sie einen Zeitversatz in ein Standortobjekt umwandeln und anwenden können es auf eine Zeit, um genaue Darstellungen in Bezug auf verschiedene Zeitzonen zu erhalten.

Das obige ist der detaillierte Inhalt vonWie konvertiert man in Go einen Zeitversatz-String in ein Time.Location-Objekt?. 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