I have a time zone problem and I'm using the following code to try and figure
out what's going on:
void test(){
Calendar cal = Calendar.getInstance();
logger.info("Time zone according to Calendar:" +
cal.getTimeZone().getID());
DateTime dateTime = monthYearFormatter.parseDateTime("05.2009");
logger.info("Joda TimeZone is: " + dateTime.getZone().getID());
LocalDate start =
dateTime.toLocalDate().dayOfMonth().withMinimumValue();
LocalDate end = start.plusMonths(1);
Date d1 = start.toDateTimeAtStartOfDay().toDate();
Date d2 = end.toDateTimeAtStartOfDay().toDate();
logger.info("d1 = " + d1.toLocaleString());
logger.info("d2 = " + d2.toLocaleString());
}
Running the code on the command line gives me correctly
Time zone according to Calendar:GMT+01:00
Joda TimeZone is: +01:00
d1 = 01.05.2009 00:00:00
d2 = 01.06.2009 00:00:00
The exact same code running in Tomcat (5.5 also tested with 6.0) and on the
same machine as above (Tomcat has Europe/Berlin (CEST) as the time zone) gives
me
Time zone according to Calendar:Europe/Berlin
Joda TimeZone is: UTC
d1 = 01.05.2009 02:00:00
d2 = 01.06.2009 02:00:00
Where is the UTC coming from? Is it because I'm parsing a date that doesn't
belong to any time zone?
The problem is that I need to pass the java.util.Date instances on the jdbc and
the time part must be 00:00:00 in order for the query to work.
------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, &
iPhoneDevCamp as they present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com
_______________________________________________
Joda-interest mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/joda-interest