Heim > Backend-Entwicklung > Golang > Wie analysiere ich eine Zeitzeichenfolge mit einer bestimmten Zeitzone in Go?

Wie analysiere ich eine Zeitzeichenfolge mit einer bestimmten Zeitzone in Go?

Barbara Streisand
Freigeben: 2024-10-24 18:03:02
Original
670 Leute haben es durchsucht

How to Parse a Time String with a Specific Time Zone in Go?

Zeit mit einer bestimmten Zeitzone analysieren

Sie können time.ParseTime() verwenden, um eine Zeitstruktur aus einer Zeichenfolge abzurufen. Als Argument wird eine Layoutzeichenfolge verwendet, die das Format der Eingabezeichenfolge angibt. Die Layoutzeichenfolge muss genau mit dem Format der Eingabezeichenfolge übereinstimmen.

Wenn Sie eine Zeitzeichenfolge analysieren müssen, die eine Zeitzone enthält, können Sie time.ParseInLocation() verwenden. Diese Funktion benötigt einen Layout-String und einen Speicherort als Argumente. Der Standort kann ein time.Location-Wert oder eine Zeichenfolge sein, die einen Zeitzonennamen darstellt.

Zum Beispiel analysiert der folgende Code eine Zeitzeichenfolge, die eine Zeitzone enthält:

<code class="go">import (
    "fmt"
    "time"
)

func main() {
    const layout = "2006-01-02 15:04"
    const timeStr = "2012-07-09 05:02:00 +0000 CEST"

    t, err := time.ParseInLocation(layout, timeStr, time.Local)
    if err != nil {
        fmt.Println(err)
        return
    }

    fmt.Println(t)
}</code>
Nach dem Login kopieren

Dies Der Code gibt die folgende Ausgabe aus:

2012-07-09 05:02:00 +0000 CEST
Nach dem Login kopieren

Die Funktion time.ParseInLocation() analysiert die Zeitzeichenfolge entsprechend der Layoutzeichenfolge und dem angegebenen Ort. In diesem Fall lautet die Layoutzeichenfolge „2006-01-02 15:04“ und der Standort ist „CEST“. Die Funktion time.ParseInLocation() gibt einen time.Time-Wert zurück, der die analysierte Zeit darstellt.

Wenn Sie keinen Ort angeben, verwendet die Funktion time.ParseInLocation() die lokale Zeitzone. Dies bedeutet, dass die geparste Zeit in die lokale Zeitzone konvertiert wird.

Sie können dies vermeiden, indem Sie einen time.Time-Wert mit der richtigen Zeit und Zeitzone erstellen:

<code class="go">import (
    "fmt"
    "time"
)

func main() {
    const layout = "2006-01-02 15:04"
    const timeStr = "2012-07-09 05:02:00"
    const timeZone = "CEST"

    pz, err := time.LoadLocation(timeZone)
    if err != nil {
        fmt.Println(err)
        return
    }

    t, err := time.Parse(layout, timeStr)
    if err != nil {
        fmt.Println(err)
        return
    }

    T := t.In(pz)

    fmt.Println(T)
}</code>
Nach dem Login kopieren

Dies Der Code gibt die folgende Ausgabe aus:

2012-07-09 05:02:00 +0200 CEST
Nach dem Login kopieren

Die Ausgabe dieses Codes zeigt die Zeit in der richtigen Zeitzone.

Das obige ist der detaillierte Inhalt vonWie analysiere ich eine Zeitzeichenfolge mit einer bestimmten Zeitzone in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage