Java Ninja Chronicles By Norris Shelton

Things I learned in the pursuit of code

I was tasked with comparing one date to another to see which one was greater. To compound the issue. They can be in different timezones. I tried to change the timezone of the DateTime object, but nothing happened. This is because Joda DateTime object are immutable. Doh. I needed a MutableDateTime object. I ended up with:

        DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("MM/dd/yyyy");
        DateTime dateTime = dateTimeFormatter.parseDateTime(dateString);
        MutableDateTime mutableDateTime = dateTime.toMutableDateTime();
        mutableDateTime.setZone(DateTimeZone.forID("America/Los_Angeles"));

Note that when a DateTime object is created, it takes the timezone from the system that created it. When you change the timezone, the offset value will change and the time is adjusted. If the offset changes by two hours, the time will change by two hours.

January 10th, 2012

Posted In: Java, Joda-Time

Leave a Reply

Your email address will not be published. Required fields are marked *

WP to LinkedIn Auto Publish Powered By : XYZScripts.com