datetime dt = new localdatetime(rs.gettimestamp("lastupdated").gettime()).todatetime(datetimezone.forid("america/new_york")); timestamp t=new timestamp(dt.getmillis());
the result doesn't match actual time of "america/new_york". off several hours. possibly problem?
update-
this time want convert db: 2015-04-28 13:14:31 converted time(output of code after removing "dt.plusmillis(offset)" code: 2015-04-28 22:44:31.0 actual ny time :3:45
it easy make joda library. core java libraries painfull , not suggested use. however, date , time libraries has been reimplemented java 8.
lets make example, assume try convert melbourne australia time madrid time.
here joda code;
localdatetime datetime = new localdatetime(2015, 3, 28, 14, 0, 0); datetime srcdatetime = datetime.todatetime(datetimezone.forid("asia/colombo")); datetime dstdatetime = srcdatetime.withzone(datetimezone.forid("america/new_york")); date madridtime =dstdatetime.tolocaldatetime().todatetime().todate(); system.out.println("asia/colombo -> "+srcdatetime.todatetime()); system.out.println("america/new_york -> "+madridtime);
here output:
asia/colombo -> 2015-04-28t14:00:00.050+05:30 america/new_york -> tue apr 28 04:30:00 eest 2015
you can check http://www.timezoneconverter.com/
see also: