aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/util/GregorianCalendar.java
diff options
context:
space:
mode:
authorMichael Koch <mkoch@gcc.gnu.org>2003-12-30 19:56:49 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2003-12-30 19:56:49 +0000
commitcca9b4b54d86897efe9f691274a2a9fbd0c15b5e (patch)
treec465a0c2e8fcf68ab360d6185b4839f58a36f9f1 /libjava/java/util/GregorianCalendar.java
parent9a706ec7132490bc2fe600a9410595e79319e94f (diff)
downloadgcc-cca9b4b54d86897efe9f691274a2a9fbd0c15b5e.zip
gcc-cca9b4b54d86897efe9f691274a2a9fbd0c15b5e.tar.gz
gcc-cca9b4b54d86897efe9f691274a2a9fbd0c15b5e.tar.bz2
[multiple changes]
2003-12-30 Guilhem Lavaux <guilhem@kaffe.org> * java/util/GregorianCalendar.java (computeFields): Reported by Ito Kazumitsu <kaz@maczuka.gcd.org>. 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 <konqueror@gmx.de> * 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
Diffstat (limited to 'libjava/java/util/GregorianCalendar.java')
-rw-r--r--libjava/java/util/GregorianCalendar.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/libjava/java/util/GregorianCalendar.java b/libjava/java/util/GregorianCalendar.java
index 624924c..1d3d2f0 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;