Domanda Come analizzare una stringa timestamp millisecondi-epoca in Go?


Ho una stringa con millisecondi dall'epoca (proveniva originariamente da un java.lang.System.currentTimeMillis() chiamata). Qual è il modo giusto per convertire questa stringa in una stringa di timestamp leggibile in Go?

Guardando il pacchetto temporale Vedo il Parse funzione, ma i layout sembrano essere normali orari basati sul fuso orario. Una volta in un oggetto Time, posso usare Format(Time.Stamp) per ottenere l'output desiderato, ma non sono chiaro su come ottenere la stringa in un oggetto Time.


12
2017-11-08 17:41


origine


risposte:


La stringa di formato non supporta i millisecondi dall'epoca, quindi è necessario analizzare manualmente. Per esempio:

func msToTime(ms string) (time.Time, error) {
    msInt, err := strconv.ParseInt(ms, 10, 64)
    if err != nil {
        return time.Time{}, err
    }

    return time.Unix(0, msInt*int64(time.Millisecond)), nil
}

Check-out http://play.golang.org/p/M1dWGLT8XE per giocare con l'esempio dal vivo.


22
2017-11-08 18:13