From 3e5d5dc9c0a5047152eedb802bc008ce78b8de0c Mon Sep 17 00:00:00 2001 From: Niall Pemberton Date: Wed, 2 Feb 2011 21:55:15 +0000 Subject: [PATCH] LANG-677 DateUtils isSameLocalTime() compares the hour using 12hour Calendar.HOUR instead of 24hour Calendar.HOUR_OF_DAY - thanks to Christian git-svn-id: https://svn.apache.org/repos/asf/commons/proper/lang/trunk@1066645 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/commons/lang3/time/DateUtils.java | 2 +- .../java/org/apache/commons/lang3/time/DateUtilsTest.java | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/apache/commons/lang3/time/DateUtils.java b/src/main/java/org/apache/commons/lang3/time/DateUtils.java index 9a24c00fa..52a443633 100644 --- a/src/main/java/org/apache/commons/lang3/time/DateUtils.java +++ b/src/main/java/org/apache/commons/lang3/time/DateUtils.java @@ -262,7 +262,7 @@ public static boolean isSameLocalTime(Calendar cal1, Calendar cal2) { return (cal1.get(Calendar.MILLISECOND) == cal2.get(Calendar.MILLISECOND) && cal1.get(Calendar.SECOND) == cal2.get(Calendar.SECOND) && cal1.get(Calendar.MINUTE) == cal2.get(Calendar.MINUTE) && - cal1.get(Calendar.HOUR) == cal2.get(Calendar.HOUR) && + cal1.get(Calendar.HOUR_OF_DAY) == cal2.get(Calendar.HOUR_OF_DAY) && cal1.get(Calendar.DAY_OF_YEAR) == cal2.get(Calendar.DAY_OF_YEAR) && cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) && cal1.get(Calendar.ERA) == cal2.get(Calendar.ERA) && diff --git a/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java b/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java index 4fb8ec287..3fc737a18 100644 --- a/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java @@ -227,6 +227,14 @@ public void testIsSameLocalTime_Cal() { cal2.set(2004, 6, 9, 13, 45, 0); cal2.set(Calendar.MILLISECOND, 0); assertEquals(true, DateUtils.isSameLocalTime(cal1, cal2)); + + Calendar cal3 = Calendar.getInstance(); + Calendar cal4 = Calendar.getInstance(); + cal3.set(2004, 6, 9, 4, 0, 0); + cal4.set(2004, 6, 9, 16, 0, 0); + cal3.set(Calendar.MILLISECOND, 0); + cal4.set(Calendar.MILLISECOND, 0); + assertFalse("LANG-677", DateUtils.isSameLocalTime(cal3, cal4)); cal2.set(2004, 6, 9, 11, 45, 0); assertEquals(false, DateUtils.isSameLocalTime(cal1, cal2));