Heim >Backend-Entwicklung >Golang >Wie kann man Tar-ähnliche Zeitstempel in der Funktion „time.Parse' von Go korrekt analysieren?

Wie kann man Tar-ähnliche Zeitstempel in der Funktion „time.Parse' von Go korrekt analysieren?

DDD
DDDOriginal
2024-12-09 07:32:06712Durchsuche

How to Correctly Parse Tar-like Timestamps in Go's `time.Parse` Function?

Datumsanalyse in Go

Die Analyse von Zeitstempeln in Go kann mit der komplizierten API von time.Parse eine entmutigende Aufgabe sein. Sehen wir uns ein häufiges Problem an, das beim Parsen von Zeitstempeln auftritt, die den von tar erzeugten ähneln, z. B. „2011-01-19 22:15“.

Parsing-Problem

Der folgende Codeausschnitt schlägt mit dem Fehler „Parsing-Zeit“ 19.01.2011 fehl 22:15": Monat außerhalb des zulässigen Bereichs":

package main

import (
    "fmt"
    "time"
)

func main() {
    var time, error = time.Parse("2011-01-19 22:15", "2011-01-19 22:15")
    if error != nil {
        fmt.Println(error.String())
        return
    }
    fmt.Println(time)
}

Verstehen des Fehlers

Die Fehlermeldung weist darauf hin, dass die für time.Parse bereitgestellte Formatzeichenfolge erwartet wird Der Monatswert muss zwischen 1 und 12 liegen, während der bereitgestellte Zeitstempel den Januar (dargestellt durch 01) enthält, den ersten Monat.

Behebung des Problems

Um dieses Problem zu beheben, müssen wir die Formatzeichenfolge anpassen, um den Zeitstempel korrekt zu interpretieren. Unter Bezugnahme auf die Dokumentation des Go-Zeitpakets finden wir die folgenden Anweisungen:

"Die in den Layouts verwendete Standardzeit ist:

Mo, 2. Jan. 15:04:05 MST 2006 (MST ist GMT-0700)

Um Ihr eigenes Format zu definieren, notieren Sie sich, wie die Standardzeit in Ihrer Formatierung aussehen würde Art und Weise.“

Wenn wir die Formatzeichenfolge entsprechend ändern, erhalten wir:

package main

import (
    "fmt"
    "time"
)

func main() {
    t, err := time.Parse("2006-01-02 15:04", "2011-01-19 22:15")
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(t)
}

Dieser Code gibt Folgendes aus: „2011-01-19 22:15:00 0000 UTC“.

Durch Befolgen der in der Dokumentation bereitgestellten Richtlinien konnten wir die Formatzeichenfolge anpassen, um den Zeitstempel erfolgreich in der gewünschten Weise zu analysieren Format.

Das obige ist der detaillierte Inhalt vonWie kann man Tar-ähnliche Zeitstempel in der Funktion „time.Parse' von Go korrekt analysieren?. 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