You probably need to update your time zone information in Joda-Time: http://joda-time.sourceforge.net/tz_update.html
Stephen 2008/10/27 Fabio Kenji Kume <[EMAIL PROTECTED]>: > Hello, > > I've noticed that there is a strange behavior for the timezone > "America/Sao_Paulo" concerning setting dates to midnight; > I've run the following code and I've gotten different results using > java.util.Calendar and Joda: > > public static void main(String[] args) { > Calendar cal = Calendar.getInstance(); > cal.set(Calendar.YEAR,2008); > cal.setLenient(false); > cal.set(Calendar.MONTH,Calendar.OCTOBER); > cal.set(Calendar.DAY_OF_MONTH,17); > > cal.set(Calendar.HOUR_OF_DAY,cal.getActualMinimum(Calendar.HOUR_OF_DAY)); > cal.set(Calendar.MINUTE,cal.getActualMinimum(Calendar.MINUTE)); > cal.set(Calendar.SECOND,cal.getActualMinimum(Calendar.SECOND)); > > cal.set(Calendar.MILLISECOND,cal.getActualMinimum(Calendar.MILLISECOND)); > > System.out.println(System.getProperty("user.timezone") ); > System.out.println(cal.getTime()); > System.out.println(cal.getTimeInMillis()); > System.out.println(new DateMidnight(2008,10,17).getMillis()); > System.out.println(new > DateTime(cal.getTimeInMillis()).withMillisOfDay(0).getMillis()); > } > > output: > America/Sao_Paulo > Fri Oct 17 00:00:00 BRT 2008 > 1224212400000 > 1224208800000 > 1224208800000 > > > I've also run the following code: > public static void main(String[] args) { > int dayOfMonth = 10; > int limit = 25; > > System.out.println(System.getProperty("user.timezone")); > System.out.println(System.getProperty("java.version")); > System.out.println(System.getProperty("java.home")); > > for(; dayOfMonth< limit; dayOfMonth++){ > System.out.println( "October " + dayOfMonth+ " 2008:"); > try{ > Calendar cal = Calendar.getInstance(); > cal.set(Calendar.YEAR,2008); > cal.set(Calendar.MONTH,Calendar.OCTOBER); > cal.set(Calendar.DAY_OF_MONTH,dayOfMonth); > > cal.set(Calendar.HOUR_OF_DAY,cal.getActualMinimum(Calendar.HOUR_OF_DAY)); > > cal.set(Calendar.MINUTE,cal.getActualMinimum(Calendar.MINUTE)); > > cal.set(Calendar.SECOND,cal.getActualMinimum(Calendar.SECOND)); > > cal.set(Calendar.MILLISECOND,cal.getActualMinimum(Calendar.MILLISECOND)); > System.out.println( "Calendar : " +cal.getTimeInMillis()+" > / " + cal.getTime()+" / "+ cal.getTimeZone().getID()); > > }catch(Exception e){ > System.out.println( "Calendar : " + e.getMessage()+" on > dayOfMonth +" + dayOfMonth); > continue; > } > > try{ > DateMidnight time = new DateMidnight(new > DateTime().withYear(2008).withMonthOfYear(10).withDayOfMonth(dayOfMonth)); > System.out.println( "Joda : " + time.getMillis()+" / " > + time.toDate()+" / " + time.getZone().getID()); > }catch(Exception e){ > System.out.println( "Joda : " + e.getMessage()+" on > dayOfMonth $dayOfMonth"); > continue; > } > } > } > > > output: > > 1.5.0_14 > C:\Program Files\Java\jdk1.5.0_14\jre > October 10 2008: > Calendar : 1223607600000 / Fri Oct 10 00:00:00 BRT 2008 / America/Sao_Paulo > Joda : 1223607600000 / Fri Oct 10 00:00:00 BRT 2008 / America/Sao_Paulo > October 11 2008: > Calendar : 1223694000000 / Sat Oct 11 00:00:00 BRT 2008 / America/Sao_Paulo > Joda : 1223694000000 / Sat Oct 11 00:00:00 BRT 2008 / America/Sao_Paulo > October 12 2008: > Calendar : 1223780400000 / Sun Oct 12 00:00:00 BRT 2008 / America/Sao_Paulo > Joda : 1223780400000 / Sun Oct 12 00:00:00 BRT 2008 / America/Sao_Paulo > October 13 2008: > Calendar : 1223866800000 / Mon Oct 13 00:00:00 BRT 2008 / America/Sao_Paulo > Joda : 1223863200000 / Sun Oct 12 23:00:00 BRT 2008 / America/Sao_Paulo > October 14 2008: > Calendar : 1223953200000 / Tue Oct 14 00:00:00 BRT 2008 / America/Sao_Paulo > Joda : 1223949600000 / Mon Oct 13 23:00:00 BRT 2008 / America/Sao_Paulo > October 15 2008: > Calendar : 1224039600000 / Wed Oct 15 00:00:00 BRT 2008 / America/Sao_Paulo > Joda : 1224036000000 / Tue Oct 14 23:00:00 BRT 2008 / America/Sao_Paulo > October 16 2008: > Calendar : 1224126000000 / Thu Oct 16 00:00:00 BRT 2008 / America/Sao_Paulo > Joda : 1224122400000 / Wed Oct 15 23:00:00 BRT 2008 / America/Sao_Paulo > October 17 2008: > Calendar : 1224212400000 / Fri Oct 17 00:00:00 BRT 2008 / America/Sao_Paulo > Joda : 1224208800000 / Thu Oct 16 23:00:00 BRT 2008 / America/Sao_Paulo > October 18 2008: > Calendar : 1224298800000 / Sat Oct 18 00:00:00 BRT 2008 / America/Sao_Paulo > Joda : 1224295200000 / Fri Oct 17 23:00:00 BRT 2008 / America/Sao_Paulo > October 19 2008: > Calendar : 1224385200000 / Sun Oct 19 01:00:00 BRST 2008 / > America/Sao_Paulo > Joda : 1224381600000 / Sat Oct 18 23:00:00 BRT 2008 / America/Sao_Paulo > October 20 2008: > Calendar : 1224468000000 / Mon Oct 20 00:00:00 BRST 2008 / > America/Sao_Paulo > Joda : 1224468000000 / Mon Oct 20 00:00:00 BRST 2008 / > America/Sao_Paulo > October 21 2008: > Calendar : 1224554400000 / Tue Oct 21 00:00:00 BRST 2008 / > America/Sao_Paulo > Joda : 1224554400000 / Tue Oct 21 00:00:00 BRST 2008 / > America/Sao_Paulo > October 22 2008: > Calendar : 1224640800000 / Wed Oct 22 00:00:00 BRST 2008 / > America/Sao_Paulo > Joda : 1224640800000 / Wed Oct 22 00:00:00 BRST 2008 / > America/Sao_Paulo > October 23 2008: > Calendar : 1224727200000 / Thu Oct 23 00:00:00 BRST 2008 / > America/Sao_Paulo > Joda : 1224727200000 / Thu Oct 23 00:00:00 BRST 2008 / > America/Sao_Paulo > October 24 2008: > Calendar : 1224813600000 / Fri Oct 24 00:00:00 BRST 2008 / > America/Sao_Paulo > Joda : 1224813600000 / Fri Oct 24 00:00:00 BRST 2008 / > America/Sao_Paulo > > It seems that the divergence between dates start at October 13th and end at > October 19th. I'm not sure if there's any relation to this matter, but > October 12th was one of the supposed days that Brazil would start using DST > and it was postponed to October 19th, its official date. That said, it seems > thta Calendar's output is the right one. > > Any ideas as to why this is happening? I'm using joda 1.5.2 and I've updated > the JVM with the most recent tzupdater patch, 1.3.9. > > Thanks, > Fabio > > ________________________________ > Receba GRÁTIS as mensagens do Messenger no seu celular quando você estiver > offline. Conheça o MSN Mobile! Crie já o seu! > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Joda-interest mailing list > Joda-interest@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/joda-interest > > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Joda-interest mailing list Joda-interest@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/joda-interest