mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
修复CalendarUtil.isSameMonth没有判断公元前导致不一致的问题
This commit is contained in:
parent
1a646df52a
commit
88c959c4ed
@ -2,7 +2,7 @@
|
|||||||
# 🚀Changelog
|
# 🚀Changelog
|
||||||
|
|
||||||
-------------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------------
|
||||||
# 5.8.16.M1 (2023-03-20)
|
# 5.8.16.M1 (2023-03-23)
|
||||||
|
|
||||||
### 🐣新特性
|
### 🐣新特性
|
||||||
* 【core 】 改进Calculator.conversion,兼容乘法符号省略写法(issue#2964@Github)
|
* 【core 】 改进Calculator.conversion,兼容乘法符号省略写法(issue#2964@Github)
|
||||||
@ -17,6 +17,7 @@
|
|||||||
* 【core 】 修复FileMagicNumber长度判断问题导致的越界异常(issue#I6MACI@Gitee)
|
* 【core 】 修复FileMagicNumber长度判断问题导致的越界异常(issue#I6MACI@Gitee)
|
||||||
* 【core 】 修复DateUtil针对ISO8601时间格式部分场景下的解析存在问题(issue#2981@Github)
|
* 【core 】 修复DateUtil针对ISO8601时间格式部分场景下的解析存在问题(issue#2981@Github)
|
||||||
* 【core 】 修复JSONUtil.toBean可能的空指针问题(issue#2987@Github)
|
* 【core 】 修复JSONUtil.toBean可能的空指针问题(issue#2987@Github)
|
||||||
|
* 【core 】 修复CalendarUtil.isSameMonth没有判断公元前导致不一致的问题(issue#3011@Github)
|
||||||
|
|
||||||
-------------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------------
|
||||||
# 5.8.15 (2023-03-09)
|
# 5.8.15 (2023-03-09)
|
||||||
|
@ -395,7 +395,8 @@ public class CalendarUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 比较两个日期是否为同一月
|
* 比较两个日期是否为同一月<br>
|
||||||
|
* 同一个月的意思是:ERA(公元)、year(年)、month(月)都一致。
|
||||||
*
|
*
|
||||||
* @param cal1 日期1
|
* @param cal1 日期1
|
||||||
* @param cal2 日期2
|
* @param cal2 日期2
|
||||||
@ -407,7 +408,9 @@ public class CalendarUtil {
|
|||||||
throw new IllegalArgumentException("The date must not be null");
|
throw new IllegalArgumentException("The date must not be null");
|
||||||
}
|
}
|
||||||
return cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) && //
|
return cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) && //
|
||||||
cal1.get(Calendar.MONTH) == cal2.get(Calendar.MONTH);
|
cal1.get(Calendar.MONTH) == cal2.get(Calendar.MONTH) &&
|
||||||
|
// issue#3011@Github
|
||||||
|
cal1.get(Calendar.ERA) == cal2.get(Calendar.ERA);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
package cn.hutool.core.date;
|
||||||
|
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.util.Calendar;
|
||||||
|
|
||||||
|
public class Issue3011Test {
|
||||||
|
@Test
|
||||||
|
public void isSameMonthTest() {
|
||||||
|
// https://github.com/dromara/hutool/issues/3011
|
||||||
|
// 判断是否同一个月,还需考虑公元前和公元后的的情况
|
||||||
|
// 此处公元前2020年和公元2021年返回年都是2021
|
||||||
|
final Calendar calendar1 = Calendar.getInstance();
|
||||||
|
calendar1.set(-2020, Calendar.FEBRUARY, 12);
|
||||||
|
|
||||||
|
final Calendar calendar2 = Calendar.getInstance();
|
||||||
|
calendar2.set(2021, Calendar.FEBRUARY, 12);
|
||||||
|
|
||||||
|
|
||||||
|
Assert.assertFalse(DateUtil.isSameMonth(calendar1, calendar2));
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user