Compliqué java.util.GregorianCalendar? ;)

-- Arnaud pour http://ressource-toi.org/ --

--- Begin Message ---
Sun's API document says about java.util.Calendar.WEEK_OF_MONTH,
"The first week of the month, as defined by getFirstDayOfWeek() and
getMinimalDaysInFirstWeek(), has value 1."

But GNU Classpath's java.util.GregorianCalendar returns 0 for the
first week of the month except for those special months whose
first day is Sunday (e.g. Jun 2003).

Here is my patch:

--- java/util/GregorianCalendar.java.orig       Sun Mar 24 01:10:15 2002
+++ java/util/GregorianCalendar.java    Mon Jul 28 11:53:16 2003
@@ -599,7 +599,7 @@
     // which day of the week are we (0..6), relative to getFirstDayOfWeek
     int relativeWeekday = (7 + fields[DAY_OF_WEEK] - getFirstDayOfWeek()) % 7;
 
-    fields[WEEK_OF_MONTH] = (fields[DAY_OF_MONTH] - relativeWeekday + 6) / 7;
+    fields[WEEK_OF_MONTH] = (fields[DAY_OF_MONTH] - relativeWeekday + 12) / 7;
 
     int weekOfYear = (fields[DAY_OF_YEAR] - relativeWeekday + 6) / 7;
 

By the way,  while GNU Classpath's Calendar returns 53 or 54 as the last
week of the year,  Sun's Java 1.4.2 returns 1.  I think this may be a bug
of Sun's.


_______________________________________________
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


--- End Message ---
_______________________________________________
Ressources mailing list
[EMAIL PROTECTED]
http://ressource-toi.org/cgi-bin/mailman/listinfo/ressources

Répondre à