From owner-freebsd-java@FreeBSD.ORG Mon May 29 15:26:13 2006 Return-Path: X-Original-To: freebsd-java@freebsd.org Delivered-To: freebsd-java@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 32AD316A699 for ; Mon, 29 May 2006 15:26:13 +0000 (UTC) (envelope-from java@wecos.de) Received: from mail.terminmarktwelt.de (mail.terminmarktwelt.de [217.6.66.203]) by mx1.FreeBSD.org (Postfix) with SMTP id 215F143D4C for ; Mon, 29 May 2006 15:26:11 +0000 (GMT) (envelope-from java@wecos.de) Received: (qmail 59138 invoked by uid 98); 29 May 2006 17:19:29 +0200 Received: from 192.168.168.242 by mail.terminmarktwelt.de (envelope-from , uid 82) with qmail-scanner-1.25 ( Clear:RC:1(192.168.168.242):. Processed in 0.250325 secs); 29 May 2006 15:19:29 -0000 X-Qmail-Scanner-Mail-From: java@wecos.de via mail.terminmarktwelt.de X-Qmail-Scanner: 1.25 (Clear:RC:1(192.168.168.242):. Processed in 0.250325 secs) Received: from unknown (HELO cosinus.terminmarktwelt.de) (192.168.168.242) by 192.168.168.203 with SMTP; 29 May 2006 17:19:28 +0200 From: Heiko Weber Organization: Wecos To: freebsd-java@freebsd.org Date: Mon, 29 May 2006 17:20:19 +0200 User-Agent: KMail/1.8.2 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200605291720.19793.java@wecos.de> Subject: Calendar Question - maybe bug ? X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 May 2006 15:26:17 -0000 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. Heiko