mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
fix date week bug
This commit is contained in:
@@ -1169,9 +1169,7 @@ public class DateUtil {
|
||||
* @since 3.1.2
|
||||
*/
|
||||
public static Calendar beginOfWeek(Calendar calendar, boolean isMondayAsFirstDay) {
|
||||
if (isMondayAsFirstDay) {
|
||||
calendar.setFirstDayOfWeek(Calendar.MONDAY);
|
||||
}
|
||||
calendar.setFirstDayOfWeek(isMondayAsFirstDay ? Calendar.MONDAY : Calendar.SUNDAY);
|
||||
// WEEK_OF_MONTH为上限的字段(不包括),实际调整的为DAY_OF_MONTH
|
||||
return truncate(calendar, DateField.WEEK_OF_MONTH);
|
||||
}
|
||||
@@ -1195,9 +1193,7 @@ public class DateUtil {
|
||||
* @since 3.1.2
|
||||
*/
|
||||
public static Calendar endOfWeek(Calendar calendar, boolean isSundayAsLastDay) {
|
||||
if (isSundayAsLastDay) {
|
||||
calendar.setFirstDayOfWeek(Calendar.MONDAY);
|
||||
}
|
||||
calendar.setFirstDayOfWeek(isSundayAsLastDay ? Calendar.MONDAY : Calendar.SUNDAY);
|
||||
// WEEK_OF_MONTH为上限的字段(不包括),实际调整的为DAY_OF_MONTH
|
||||
return ceiling(calendar, DateField.WEEK_OF_MONTH);
|
||||
}
|
||||
|
@@ -114,6 +114,19 @@ public class DateUtilTest {
|
||||
Assert.assertEquals("2017-03-05 23:59:59", DateUtil.date(end).toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void beginAndWeedTest2() {
|
||||
String beginStr = "2020-03-11";
|
||||
DateTime date = DateUtil.parseDate(beginStr);
|
||||
Calendar calendar = date.toCalendar();
|
||||
final Calendar begin = DateUtil.beginOfWeek(calendar, false);
|
||||
Assert.assertEquals("2020-03-08 00:00:00", DateUtil.date(begin).toString());
|
||||
|
||||
Calendar calendar2 = date.toCalendar();
|
||||
final Calendar end = DateUtil.endOfWeek(calendar2, false);
|
||||
Assert.assertEquals("2020-03-14 23:59:59", DateUtil.date(end).toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void offsetDateTest() {
|
||||
String dateStr = "2017-03-01 22:33:23";
|
||||
|
Reference in New Issue
Block a user