datetime - Java Joda time Daylight savings time -


i having difficulty using jodatime handle daylight savings time.

 string time = "3:45-pm";     datetimeformatter formatter = datetimeformat.forpattern("kk:mm-a");  datetime dt = formatter.parsedatetime(time).withzone(datetimezone.forid("america/new_york"));  dt = dt.todatetime(datetimezone.utc);   startdate = startdate.withhourofday(dt.gethourofday()).withminuteofhour(dt.getminuteofhour()); 

output code snippet ends being:

2015-04-08 16:46:51.952  info 12244 --- [nio-8080-exec-1] values pulled                        : 03:45-pm 2015-04-08 16:46:51.952  info 12244 --- [nio-8080-exec-1] values pulled                        : 08:45-pm 

currently, time 5 hours off. not handling daylights saving time. how joda time take dls account?

this happens because datetime object after parsing set date 01-01-1970. looks expect set today, isn't.

if want time interpreted 3:45 pm today in timezone america/new_york, this:

string time = "3:45-pm";  datetimeformatter formatter = datetimeformat.forpattern("kk:mm-a")         .withzone(datetimezone.forid("america/new_york"));  datetime dt = formatter.parsedatetime(time)         .withdate(localdate.now());  system.out.println(dt);  system.out.println(dt.withzone(datetimezone.utc)); 

note: need set zone on datetimeformatter.


Popular posts from this blog