„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie analysiere ich eine Zeitzeichenfolge mit einer bestimmten Zeitzone in Go?

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

Veröffentlicht am 15.11.2024
Durchsuche:224

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.

Der folgende Code analysiert beispielsweise eine Zeitzeichenfolge, die eine Zeitzone enthält:

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)
}

Dieser Code gibt die folgende Ausgabe aus:

2012-07-09 05:02:00  0000 CEST

Die Funktion time.ParseInLocation() analysiert die Zeit Zeichenfolge entsprechend der Layoutzeichenfolge und dem angegebenen Speicherort. 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:

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)
}

Dieser Code gibt die folgende Ausgabe aus:

2012-07-09 05:02:00  0200 CEST

Die Ausgabe dieses Codes zeigt die Uhrzeit korrekt an Zeitzone.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3