Ich lese eine JSON-Datei, die Unix-Epoch Daten enthält, aber sie sind Zeichenfolgen in der JSON. Kann ich in Go eine Zeichenfolge in der Form "1490846400" in eine Go time.Time umwandeln?Konvertieren Sie Unix-Epoche als eine Zeichenfolge zu time.Time on Go
0
A
Antwort
1
Es gibt keine solche Funktion in time
Paket, aber es ist einfach zu schreiben:
func stringToTime(s string) (time.Time, error) {
sec, err := strconv.ParseInt(s, 10, 64)
if err != nil {
return time.Time{}, err
}
return time.Unix(sec, 0), nil
}
Spielplatz: https://play.golang.org/p/2h0Vd7plgk.
2
Es ist nichts falsch oder falsch über die Antwort zur Verfügung gestellt von @ Ainar-G, aber wahrscheinlich einen besseren Weg, dies zu tun ist mit einem benutzerdefinierten JSON Unmarshaler:
type EpochTime time.Time
func (et *EpochTime) UnmarshalJSON(data []byte) error {
t := string.Trim(string(data), `"`) // Remove quote marks from around the JSON string
sec, err := strconv.ParseInt(t, 10, 64)
if err != nil {
return err
}
epochTime := time.Unix(sec,0)
*et = epochTime
return nil
}
Dann in Ihrer Struktur, ersetzen time.Time
mit EpochTime
:
type SomeDocument struct {
Timestamp EpochTime `json:"time"`
// other fields
}
Verwandte Themen
- 1. Go - Parse NULL time.time in Struct
- 2. Wie eine Zeichenfolge als json zu einfachen String konvertieren - SwiftyJSON
- 3. Greifen Sie HTTP-Antwort als Zeichenfolge in Go
- 4. So konvertieren Sie eine Zeichenfolge in NSData
- 5. Parsing Zeit Zeichenfolge in Go
- 6. Konvertieren eine Zeichenfolge, die
- 7. Was ist der 'Null'-Wert für time.Time in Go?
- 8. jQuery - konvertieren .live() zu .on()
- 9. Konvertieren Sie eine ASCII-Zeichenfolge in Hex-Zeichenfolge
- 10. Konvertieren Sie eine Python-Zeichenfolge in Variable
- 11. Konvertieren Sie eine Zeichenfolge in ISO-Datumsformat
- 12. Konvertieren Sie mehrere JSON-Zeichenfolge in eine Zeichenfolge
- 13. time.time im Vergleich zu timeit.timeit
- 14. Konvertieren Sie eine Variable [] Schnittstelle {} in Variable ... Schnittstelle {} in go
- 15. Warum gibt time.clock eine längere Zeit als time.time?
- 16. Konvertieren Sie eine Zeichenfolge in eine Liste von "Noten"
- 17. Konvertieren eine Zeichenfolge zu einzigartigen Langen
- 18. So konvertieren Sie Array von Fehlern zu JSON in Go
- 19. Ist es möglich, JSON-Variablennamen on-the-fly in go zu konvertieren?
- 20. So formatieren Sie Gleitkommazahlen mithilfe von Go in eine Zeichenfolge
- 21. Konvertieren Sie eine utc Datetime-Zeichenfolge in lokale Datetime-Zeichenfolge?
- 22. Wie konvertieren Sie eine Razor-Ansicht in eine Zeichenfolge?
- 23. time.time (Werte)
- 24. Konvertieren Sie eine Zeichenfolge in eine Liste und zurück
- 25. eine große Zeichenfolge in go Versuch drucken
- 26. Konvertieren Sie eine Zeichenfolge in eine swt Farbe
- 27. konvertieren Sie eine Zeichenfolge in eine Variante in C++
- 28. Reflection - restore time.Time instance
- 29. So konvertieren Sie * url.URL in GO, Google App Engine
- 30. Konvertieren einer Zeichenfolge als MAC-Adresse
Mögliches Duplikat (http://stackoverflow.com/questions/24987131/how-to-parse-unix-timestamp-in-golang) [Wie Unix-Zeitstempel in golang analysieren] – Laurence