Get Date from timestamp in Groovy

19,176

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

Try:

new Date( 1280512800L * 1000 )

or

new Date( ((long)1280512800) * 1000 )
Share:
19,176

Related videos on Youtube

Andrea
Author by

Andrea

Updated on September 15, 2022

Comments

  • Andrea
    Andrea over 1 year

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

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

    My first attempt was

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

    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?

  • tim_yates
    tim_yates almost 12 years
    As a quick note this is due to this issue with cast precedence in Groovy