joda time, time zone 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 DateTime dt = new DateTime(DateTimeZone.forOffsetHours(8)); dt=dt.withZone(DateTimeZone.forOffsetHours(-5)); DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ssZZ"); System.out.println(dtf.print(dt)); String s="2012-06-27T20:00:00+08:00"; DateTime dt2= dtf.parseDateTime(s) ; System.out.println(dtf.print(dt2));