9

些細なことのように思われるかもしれませんが、Groovyで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

タイムスタンプを日付に変換する正しい方法は何ですか?作業するタイムゾーンを指定したい場合はどうなりますか?

4

1 に答える 1

17

問題はそれが整数で起こっているということです、そしてそれから乗算は切り捨てを引き起こしています...

試す:

new Date( 1280512800L * 1000 )

また

new Date( ((long)1280512800) * 1000 )
于 2012-07-12T09:07:27.650 に答える