Calendar Question - maybe bug ?

Heiko Weber java at wecos.de
Tue May 30 01:06:27 PDT 2006


Am Dienstag, 30. Mai 2006 08:19 schrieb Panagiotis Astithas:
> Heiko Weber wrote:
> > Hi !
> >
> > I've a problem with GregorianCalendar, which returns different weeks (in
> > year) on FreeBSD 6.1, java version is
> >
> > # java -version
> > Java HotSpot(TM) Server VM (build 1.5.0-p2-heiko_03_jan_2006_23_51, mixed
> > mode)
> >
> > Test program (A.java):
> >
> > import java.util.Calendar;
> > import java.util.GregorianCalendar;
> >
> > public class A {
> > public static int weeksInYear(int year) {
> >                 Calendar cal = GregorianCalendar.getInstance();
> >
> >                 cal.set(year, 11, 31);
> >
> >                 return cal.get(Calendar.WEEK_OF_YEAR) == 53 ? 53 : 52;
> >         }
> >
> >         public static void main(String args[]) {
> >                 for (int i = 1990; i <= 2006; i++)
> >                         System.out.println("Weeks in Year " + i + " = " +
> > weeksInYear(i));
> >         }
> > }
> >
> > Output on a Linux or Windows JRE is:
> >
> > Weeks in Year 1990 = 52
> > Weeks in Year 1991 = 52
> > Weeks in Year 1992 = 53
> > Weeks in Year 1993 = 52
> > Weeks in Year 1994 = 52
> > Weeks in Year 1995 = 52
> > Weeks in Year 1996 = 52
> > Weeks in Year 1997 = 52
> > Weeks in Year 1998 = 53
> > Weeks in Year 1999 = 52
> > Weeks in Year 2000 = 52
> > Weeks in Year 2001 = 52
> > Weeks in Year 2002 = 52
> > Weeks in Year 2003 = 52
> > Weeks in Year 2004 = 53
> > Weeks in Year 2005 = 52
> > Weeks in Year 2006 = 52
> >
> > Output on FreeBSD is:
> >
> > Weeks in Year 1990 = 52
> > Weeks in Year 1991 = 52
> > Weeks in Year 1992 = 52
> > Weeks in Year 1993 = 52
> > Weeks in Year 1994 = 53
> > Weeks in Year 1995 = 52
> > Weeks in Year 1996 = 52
> > Weeks in Year 1997 = 52
> > Weeks in Year 1998 = 52
> > Weeks in Year 1999 = 52
> > Weeks in Year 2000 = 52
> > Weeks in Year 2001 = 52
> > Weeks in Year 2002 = 52
> > Weeks in Year 2003 = 52
> > Weeks in Year 2004 = 52
> > Weeks in Year 2005 = 53
> > Weeks in Year 2006 = 52
> >
> > Is this my fault or would it help to update the FreeBSD JRE ? Or is the
> > java-Calendar-System build up on some local (changeable) settings ?
> >
> > Thanks for any help or hint.
>
> I can't replicate this here on either diablo-jdk15 or jdk15 patchset 2
> (as yours). Is your systems time/timezone/etc. correct?
>

Hm, /etc/localtime has been installed last year in september - from 
installation of FreeBSD 6.0. If I remember correct I used sysinstall and 
answered "cmos time == local time".

# date
Tue May 30 09:48:36 CEST 2006

Is this ok for germany ?

At the moment I compile jdk with patchset 3 on an other FreeBSD system to 
verify ... there I can play with the timezone settings after installation.

Thanks for the hint.

  Heiko


More information about the freebsd-java mailing list