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?
You can use this to output a three character representation of the name of the week day: theDate = "2017-10-09T00:00:00.000"; def parsedDate = new Date(). parse("yyyy-MM-dd'T'HH:mm:ss. SSS", theDate); def day = new java.
downto(previousDate) { it -> it-> represents date object. } minus: Subtract number of days from given date & will return you new date. plus: Add number of dayes to date object & it will give you new date.
The class Date represents a specific instant in time, with millisecond precision. The Date class has two constructors as shown below.
String newDate = Date. parse('MM/dd/yyyy',dt). format("yyyy-MM-dd'T'HH:mm:ss'Z'");
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 )
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With