From cca9b4b54d86897efe9f691274a2a9fbd0c15b5e Mon Sep 17 00:00:00 2001 From: Michael Koch Date: Tue, 30 Dec 2003 19:56:49 +0000 Subject: [PATCH] [multiple changes] 2003-12-30 Guilhem Lavaux * java/util/GregorianCalendar.java (computeFields): Reported by Ito Kazumitsu . Fixed the computation of DAY_OF_WEEK_IN_MONTH. (computeTime): 12:00 midnight is AM and 12:00 noon is PM. 2003-12-30 Michael Koch * testsuite/libjava.mauve/xfails: Removed the following testcase because it passes now: FAIL: gnu.testlet.java.text.SimpleDateFormat.Test: parse() strict (number 1) From-SVN: r75244 --- libjava/ChangeLog | 14 ++++++++++++++ libjava/java/util/GregorianCalendar.java | 8 ++++++-- libjava/testsuite/libjava.mauve/xfails | 1 - 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 9211c7c91f6..7fc6bda7633 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,17 @@ +2003-12-30 Guilhem Lavaux + + * java/util/GregorianCalendar.java + (computeFields): Reported by Ito Kazumitsu . + Fixed the computation of DAY_OF_WEEK_IN_MONTH. + (computeTime): 12:00 midnight is AM and 12:00 noon is PM. + +2003-12-30 Michael Koch + + * testsuite/libjava.mauve/xfails: Removed the following testcase + because it passes now: + FAIL: gnu.testlet.java.text.SimpleDateFormat.Test: parse() strict + (number 1) + 2003-12-30 Michael Koch * java/io/ObjectInputStream.java, diff --git a/libjava/java/util/GregorianCalendar.java b/libjava/java/util/GregorianCalendar.java index 624924cd208..1d3d2f0ab0e 100644 --- a/libjava/java/util/GregorianCalendar.java +++ b/libjava/java/util/GregorianCalendar.java @@ -402,7 +402,11 @@ public class GregorianCalendar extends Calendar { hour = fields[HOUR]; if (isSet[AM_PM] && fields[AM_PM] == PM) - hour += 12; + if (hour != 12) /* not Noon */ + hour += 12; + /* Fix the problem of the status of 12:00 AM (midnight). */ + if (isSet[AM_PM] && fields[AM_PM] == AM && hour == 12) + hour = 0; } int minute = isSet[MINUTE] ? fields[MINUTE] : 0; @@ -606,7 +610,7 @@ public class GregorianCalendar extends Calendar calculateDay(++day, gregorian); } - fields[DAY_OF_WEEK_IN_MONTH] = (fields[DAY_OF_MONTH] + 12) / 7; + fields[DAY_OF_WEEK_IN_MONTH] = (fields[DAY_OF_MONTH] + 6) / 7; // which day of the week are we (0..6), relative to getFirstDayOfWeek int relativeWeekday = (7 + fields[DAY_OF_WEEK] - getFirstDayOfWeek()) % 7; diff --git a/libjava/testsuite/libjava.mauve/xfails b/libjava/testsuite/libjava.mauve/xfails index 178a492fb76..8caf469c55d 100644 --- a/libjava/testsuite/libjava.mauve/xfails +++ b/libjava/testsuite/libjava.mauve/xfails @@ -34,7 +34,6 @@ FAIL: gnu.testlet.java.lang.String.getBytes14: String.getBytes("UTF-16BE") (numb FAIL: gnu.testlet.java.lang.String.getBytes14: String.getBytes("UTF-16LE") (number 1) FAIL: gnu.testlet.java.text.AttributedString.Test: Attribute key count (number 1) FAIL: gnu.testlet.java.text.DateFormatSymbols.Test: patterns (number 2) -FAIL: gnu.testlet.java.text.SimpleDateFormat.Test: parse() strict (number 1) FAIL: gnu.testlet.java.text.SimpleDateFormat.getAndSet2DigitYearStart: get2DigitYearStart() initial (number 1) FAIL: gnu.testlet.java.text.DateFormatSymbols.Test: invalid locale (number 1) FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: CollationElementIterator (number 1) -- 2.30.2