Heim > Backend-Entwicklung > Golang > Gehe zu time.Parse ungültiges ISO-Datum

Gehe zu time.Parse ungültiges ISO-Datum

王林
Freigeben: 2024-02-08 21:03:09
nach vorne
456 Leute haben es durchsucht

Go time.Parse 无效的 ISO 日期

Frageninhalt

Gibt es eine Möglichkeit, time.Parse zum Parsen der folgenden Datumszeichenfolge zu verwenden:

2023-06-06T07:04:58:278-07?

Ich habe versucht, das Format zu verwenden 2006-01-02T15:04:05:000Z07,但最后一个 :, was zu einem Fehler führte.

https://go.dev/play/p/y4T7meCX6D5


Richtige Antwort


Schreiben time.parseUmschließen Sie die Funktion, um einen Dezimalpunkt, ein Dezimalkomma oder einen Doppelpunkt als Sekunden-Dezimaltrennzeichen zu akzeptieren.

package main

import (
    "fmt"
    "strings"
    "time"
)

// accept a decimal point, decimal comma, or colon
// as the seconds decimal separator.
func timeparse(layout, value string) (time.time, error) {
    t, err := time.parse(layout, value)
    if err == nil {
        return t, err
    }
    if strings.count(value, ":") != 3 {
        return t, err
    }
    i := strings.lastindexbyte(value, ':')
    if i < 0 {
        return t, err
    }
    value2 := value[:i] + "." + value[i+1:]
    t2, err2 := time.parse(layout, value2)
    if err2 == nil {
        return t2, err2
    }
    return t, err
}

func main() {
    indate := "2023-06-06t07:04:58:278-07"
    parseformat := "2006-01-02t15:04:05z07"
    t, e := timeparse(parseformat, indate)
    if e != nil {
        fmt.println(e)
    }
    fmt.println(t)
}
Nach dem Login kopieren

https://www.php.cn/link/a933075894d2fccffdaa2a492a4a12da

2023-06-06 07:04:58.278 -0700 -0700
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonGehe zu time.Parse ungültiges ISO-Datum. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage