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

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

Barbara Streisand
Barbara StreisandOriginal
2024-10-24 18:03:02564Durchsuche

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>

Dies Der Code gibt die folgende Ausgabe aus:

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

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>

Dies Der Code gibt die folgende Ausgabe aus:

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

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!

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