从 Unix 时间戳转换为 Groovy 中的日期

Abu*_*iam 6 groovy date

我有一个 unix 时间戳中的日期,我想将其转换为人类可读的......

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

这给了我..

  clean date 49064-02-13
Run Code Online (Sandbox Code Playgroud)

我期待“2017-02-03”。

我究竟做错了什么?

我什至按照此答案中的建议将时间戳显式转换为 long 。

小智 6

要将Unix 时间 Timestamp转换为 Java Date:

def timestamp = 1486146877214 // milliseconds
def date = new Date( timestamp ).toString()
assert 'Fri Feb 03 13:34:37 EST 2017' == date.toString() // EN/US date format
Run Code Online (Sandbox Code Playgroud)

在TimestampConvert.net或EpochConverter.com等处创建时间戳和/或确认日期。


Mic*_*urd 4

不要乘以 1000 - 新日期(长)以毫秒为单位而不是微秒