从Groovy的时间戳获取日期

时间:2012-07-12 09:00:56

标签: date groovy timestamp

尽管看似微不足道,但我找不到将Grooty中的Unix时间戳转换为Date对象的方法。

让我试试1280512800,它应该成为Fri, 30 Jul 2010 18:00:00 GMT

我的第一次尝试是

new Date(1280512800)
// wrong, becomes Thu Jan 15 20:41:52 CET 1970

然后我读到Java时间戳使用毫秒,因此我应该使用

new Date((long)1280512800 * 1000)
// the cast to long is irrelevant in Groovy, in any case I get
// Thu Jan 08 03:09:05 CET 1970

将时间戳转换为日期的正确方法是什么?如果我想指定工作时区怎么办?

1 个答案:

答案 0 :(得分:14)

问题是它与整数一起使用,然后乘法导致截断...

尝试:

new Date( 1280512800L * 1000 )

new Date( ((long)1280512800) * 1000 )