Конвертировать из Unix Timestamp на сегодняшний день в Groovy - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть дата в метке времени Unix, и я хочу преобразовать ее в удобочитаемую для человека ...

 def dateUnix = 1486146877214
 Date dateObj =  new Date( ((long)dateUnix) * 1000 )
 def cleanDate = new SimpleDateFormat('yyyy-MM-dd').format(dateObj)
 println "clean date $cleanDate"

Это дает мне ..

  clean date 49064-02-13

, где я ожидал "2017-02-03" .

Что я делаю не так?

Я даже преобразил метку времени в long явно, как предлагалось в этом ответе .

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Существует способ конвертировать метку времени Unix в дату Java:

import java.time.Instant
import java.util.Date

def unixTimeStamp = 1486146877214
Date date = Date.from(Instant.ofEpochSecond(unixTimeStamp))
0 голосов
/ 21 ноября 2018

Не умножать на 1000 - новая дата (длинная) указывается в миллисекундах, а не в микросекундах

...