Как разобрать миллисекунду-временную строку timestamp в Go?
У меня есть строка с миллисекундами с эпохи (она исходила из вызова java.lang.System.currentTimeMillis()
). Каким образом можно преобразовать эту строку в удобочитаемую строку метки времени в Go?
Глядя на пакет времени, я вижу функцию Parse
, но все макеты, похоже, являются обычными часовыми временами. Однажды в объект времени я могу использовать Format(Time.Stamp)
, чтобы получить результат, который я хочу, но я не понимаю, как получить строку в объект Time.
Ответы
Ответ 1
Строка формата не поддерживает миллисекунды с эпохи, поэтому вам нужно вручную разобрать. Например:
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
}
Откроется http://play.golang.org/p/M1dWGLT8XE, чтобы воспроизвести пример в реальном времени.