从Groovy中的时间戳获取日期

从Groovy中的时间戳获取日期

本文介绍了从Groovy中的时间戳获取日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

虽然看起来很琐碎,但是我找不到在Groovy中将Unix时间戳转换为Date对象的方法。

As trivial as it may seem, I cannot find a way to transform a Unix timestamp into a Date object in Groovy.

让我尝试使用 1280512800 ,应改为 Fri,2010年7月30日格林尼治标准时间

Let me try with 1280512800, which should become Fri, 30 Jul 2010 18:00:00 GMT

我的第一次尝试是

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

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

Then I read that Java timestamps use milliseconds, hence I should use

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

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

What is the right way to convert a timestamp to a Date? What if I want to specify the timezone to work in?

推荐答案

问题是整数的问题,那么乘法会导致截断...

The problem is it's going with Integers, then the multiplication is causing truncation...

尝试:

new Date( 1280512800L * 1000 )

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

这篇关于从Groovy中的时间戳获取日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-26 10:35