So analysieren Sie Unix-Zeitstempel
Das Parsen von Unix-Zeitstempeln in Go mag wie eine einfache Aufgabe erscheinen, kann aber zu unerwarteten Fehlern führen. Wenn Sie versuchen, einen Zeitstempel mit time.Parse zu analysieren, kann es zu einem Fehler außerhalb des zulässigen Bereichs kommen, selbst wenn das Layout korrekt zu sein scheint.
Der Grund dafür ist, dass time.Parse keine Unix-Zeitstempel verarbeitet. Stattdessen sollten Sie die Funktion strconv.ParseInt verwenden, um die Zeitstempelzeichenfolge in einen int64-Wert zu konvertieren, und dann die Funktion time.Unix verwenden, um ein time.Time-Objekt zu erstellen.
Hier ist ein Beispiel:
package main import ( "fmt" "time" "strconv" ) func main() { i, err := strconv.ParseInt("1405544146", 10, 64) if err != nil { panic(err) } tm := time.Unix(i, 0) fmt.Println(tm) }
Dieser Code gibt den richtigen Zeitstempel aus:
2014-07-16 20:55:46 +0000 UTC
Wichtig Hinweis:
Im ursprünglichen Beispiel wurde strconv.Atoi anstelle von strconv.ParseInt verwendet. Allerdings kann strconv.Atoi auf 32-Bit-Systemen zu Ganzzahlüberläufen führen. Daher wird strconv.ParseInt empfohlen, um alle Fälle sicher zu behandeln.
Das obige ist der detaillierte Inhalt vonWie kann ich Unix-Zeitstempel in Go sicher analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!