diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/CalendarConverter.java b/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/CalendarConverter.java
index 327166d6e..0d4a986f5 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/CalendarConverter.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/CalendarConverter.java
@@ -13,6 +13,7 @@
package org.dromara.hutool.core.convert.impl;
import org.dromara.hutool.core.convert.AbstractConverter;
+import org.dromara.hutool.core.date.CalendarUtil;
import org.dromara.hutool.core.date.DateUtil;
import org.dromara.hutool.core.text.StrUtil;
@@ -54,21 +55,21 @@ public class CalendarConverter extends AbstractConverter {
protected Calendar convertInternal(final Class> targetClass, final Object value) {
// Handle Date
if (value instanceof Date) {
- return DateUtil.calendar((Date)value);
+ return CalendarUtil.calendar((Date)value);
}
// Handle Long
if (value instanceof Long) {
//此处使用自动拆装箱
- return DateUtil.calendar((Long)value);
+ return CalendarUtil.calendar((Long)value);
}
if(value instanceof XMLGregorianCalendar){
- return DateUtil.calendar((XMLGregorianCalendar) value);
+ return CalendarUtil.calendar((XMLGregorianCalendar) value);
}
final String valueStr = convertToStr(value);
- return DateUtil.calendar(StrUtil.isBlank(format) ? DateUtil.parse(valueStr) : DateUtil.parse(valueStr, format));
+ return CalendarUtil.calendar(StrUtil.isBlank(format) ? DateUtil.parse(valueStr) : DateUtil.parse(valueStr, format));
}
}
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/date/DateBetween.java b/hutool-core/src/main/java/org/dromara/hutool/core/date/DateBetween.java
index b2bfa37c8..5ee868de1 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/date/DateBetween.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/date/DateBetween.java
@@ -117,8 +117,8 @@ public class DateBetween implements Serializable {
* @since 3.0.8
*/
public long betweenMonth(final boolean isReset) {
- final Calendar beginCal = DateUtil.calendar(begin);
- final Calendar endCal = DateUtil.calendar(end);
+ final Calendar beginCal = CalendarUtil.calendar(begin);
+ final Calendar endCal = CalendarUtil.calendar(end);
final int betweenYear = endCal.get(Calendar.YEAR) - beginCal.get(Calendar.YEAR);
final int betweenMonthOfYear = endCal.get(Calendar.MONTH) - beginCal.get(Calendar.MONTH);
@@ -144,8 +144,8 @@ public class DateBetween implements Serializable {
* @since 3.0.8
*/
public long betweenYear(final boolean isReset) {
- final Calendar beginCal = DateUtil.calendar(begin);
- final Calendar endCal = DateUtil.calendar(end);
+ final Calendar beginCal = CalendarUtil.calendar(begin);
+ final Calendar endCal = CalendarUtil.calendar(end);
final int result = endCal.get(Calendar.YEAR) - beginCal.get(Calendar.YEAR);
if (false == isReset) {
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/date/DateModifier.java b/hutool-core/src/main/java/org/dromara/hutool/core/date/DateModifier.java
index cb19906c2..5f6858b46 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/date/DateModifier.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/date/DateModifier.java
@@ -74,7 +74,7 @@ public class DateModifier {
public static Calendar modify(final Calendar calendar, final int dateField, final ModifyType modifyType, final boolean truncateMillisecond) {
// AM_PM上下午特殊处理
if (Calendar.AM_PM == dateField) {
- final boolean isAM = DateUtil.isAM(calendar);
+ final boolean isAM = CalendarUtil.isAM(calendar);
switch (modifyType) {
case TRUNCATE:
calendar.set(Calendar.HOUR_OF_DAY, isAM ? 0 : 12);
@@ -141,14 +141,14 @@ public class DateModifier {
switch (modifyType) {
case TRUNCATE:
- calendar.set(field, DateUtil.getBeginValue(calendar, field));
+ calendar.set(field, CalendarUtil.getBeginValue(calendar, field));
break;
case CEILING:
- calendar.set(field, DateUtil.getEndValue(calendar, field));
+ calendar.set(field, CalendarUtil.getEndValue(calendar, field));
break;
case ROUND:
- final int min = DateUtil.getBeginValue(calendar, field);
- final int max = DateUtil.getEndValue(calendar, field);
+ final int min = CalendarUtil.getBeginValue(calendar, field);
+ final int max = CalendarUtil.getEndValue(calendar, field);
final int href;
if (Calendar.DAY_OF_WEEK == field) {
// 星期特殊处理,假设周一是第一天,中间的为周四
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/date/DateUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/date/DateUtil.java
index 6076ba73e..1cb166112 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/date/DateUtil.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/date/DateUtil.java
@@ -17,7 +17,9 @@ import org.dromara.hutool.core.comparator.CompareUtil;
import org.dromara.hutool.core.date.format.DatePrinter;
import org.dromara.hutool.core.date.format.FastDateFormat;
import org.dromara.hutool.core.date.format.GlobalCustomFormat;
-import org.dromara.hutool.core.date.format.parser.*;
+import org.dromara.hutool.core.date.format.parser.GlobalRegexDateParser;
+import org.dromara.hutool.core.date.format.parser.PositionDateParser;
+import org.dromara.hutool.core.date.format.parser.TimeParser;
import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.core.text.StrUtil;
import org.dromara.hutool.core.text.split.SplitUtil;
@@ -43,7 +45,7 @@ import java.util.stream.Collectors;
* @see TimeUtil java8日志工具类
* @see DatePattern 日期常用格式工具类
*/
-public class DateUtil extends CalendarUtil {
+public class DateUtil {
// region ----- date
@@ -62,7 +64,7 @@ public class DateUtil extends CalendarUtil {
* @return 当天开始的时间
*/
public static DateTime today() {
- return new DateTime(beginOfDay(Calendar.getInstance()));
+ return new DateTime(CalendarUtil.beginOfDay(Calendar.getInstance()));
}
/**
@@ -501,7 +503,7 @@ public class DateUtil extends CalendarUtil {
* @return Quarter ,类似于 20132
*/
public static String yearAndQuarter(final Date date) {
- return yearAndQuarter(calendar(date));
+ return CalendarUtil.yearAndQuarter(CalendarUtil.calendar(date));
}
// region ----- format
@@ -764,43 +766,10 @@ public class DateUtil extends CalendarUtil {
* @throws DateException if none of the date patterns were suitable
* @since 5.3.11
*/
- public static DateTime parse(final String str, final String... parsePatterns) throws DateException {
+ public static DateTime parseByPatterns(final String str, final String... parsePatterns) throws DateException {
return date(CalendarUtil.parseByPatterns(str, parsePatterns));
}
- /**
- * 将日期字符串转换为{@link DateTime}对象,格式:
- *
- * - yyyy-MM-dd HH:mm:ss
- * - yyyy/MM/dd HH:mm:ss
- * - yyyy.MM.dd HH:mm:ss
- * - yyyy年MM月dd日 HH时mm分ss秒
- * - yyyy-MM-dd
- * - yyyy/MM/dd
- * - yyyy.MM.dd
- * - HH:mm:ss
- * - HH时mm分ss秒
- * - yyyy-MM-dd HH:mm
- * - yyyy-MM-dd HH:mm:ss.SSS
- * - yyyy-MM-dd HH:mm:ss.SSSSSS
- * - yyyyMMddHHmmss
- * - yyyyMMddHHmmssSSS
- * - yyyyMMdd
- * - EEE, dd MMM yyyy HH:mm:ss z
- * - EEE MMM dd HH:mm:ss zzz yyyy
- * - yyyy-MM-dd'T'HH:mm:ss'Z'
- * - yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
- * - yyyy-MM-dd'T'HH:mm:ssZ
- * - yyyy-MM-dd'T'HH:mm:ss.SSSZ
- *
- *
- * @param dateCharSequence 日期字符串
- * @return 日期
- */
- public static DateTime parseDateTime(final CharSequence dateCharSequence) {
- return date(parse(dateCharSequence));
- }
-
/**
* 将日期字符串转换为{@link DateTime}对象,在转换过程中,如果字符串中有时区信息,表示是指定时区的时间
* 此时此方法会将时区转换为当前时区,时间戳会根据时区变化。
@@ -852,7 +821,7 @@ public class DateUtil extends CalendarUtil {
* @since 4.5.7
*/
public static DateTime truncate(final Date date, final DateField dateField) {
- return new DateTime(truncate(calendar(date), dateField));
+ return new DateTime(CalendarUtil.truncate(CalendarUtil.calendar(date), dateField));
}
/**
@@ -864,7 +833,7 @@ public class DateUtil extends CalendarUtil {
* @since 4.5.7
*/
public static DateTime round(final Date date, final DateField dateField) {
- return new DateTime(round(calendar(date), dateField));
+ return new DateTime(CalendarUtil.round(CalendarUtil.calendar(date), dateField));
}
/**
@@ -876,7 +845,7 @@ public class DateUtil extends CalendarUtil {
* @since 4.5.7
*/
public static DateTime ceiling(final Date date, final DateField dateField) {
- return new DateTime(ceiling(calendar(date), dateField));
+ return new DateTime(CalendarUtil.ceiling(CalendarUtil.calendar(date), dateField));
}
/**
@@ -894,7 +863,7 @@ public class DateUtil extends CalendarUtil {
* @since 4.5.7
*/
public static DateTime ceiling(final Date date, final DateField dateField, final boolean truncateMillisecond) {
- return new DateTime(ceiling(calendar(date), dateField, truncateMillisecond));
+ return new DateTime(CalendarUtil.ceiling(CalendarUtil.calendar(date), dateField, truncateMillisecond));
}
/**
@@ -905,7 +874,7 @@ public class DateUtil extends CalendarUtil {
* @since 4.6.2
*/
public static DateTime beginOfSecond(final Date date) {
- return new DateTime(beginOfSecond(calendar(date)));
+ return new DateTime(CalendarUtil.beginOfSecond(CalendarUtil.calendar(date)));
}
/**
@@ -916,7 +885,7 @@ public class DateUtil extends CalendarUtil {
* @since 4.6.2
*/
public static DateTime endOfSecond(final Date date) {
- return new DateTime(endOfSecond(calendar(date)));
+ return new DateTime(CalendarUtil.endOfSecond(CalendarUtil.calendar(date)));
}
/**
@@ -926,7 +895,7 @@ public class DateUtil extends CalendarUtil {
* @return {@link DateTime}
*/
public static DateTime beginOfHour(final Date date) {
- return new DateTime(beginOfHour(calendar(date)));
+ return new DateTime(CalendarUtil.beginOfHour(CalendarUtil.calendar(date)));
}
/**
@@ -936,7 +905,7 @@ public class DateUtil extends CalendarUtil {
* @return {@link DateTime}
*/
public static DateTime endOfHour(final Date date) {
- return new DateTime(endOfHour(calendar(date)));
+ return new DateTime(CalendarUtil.endOfHour(CalendarUtil.calendar(date)));
}
/**
@@ -946,7 +915,7 @@ public class DateUtil extends CalendarUtil {
* @return {@link DateTime}
*/
public static DateTime beginOfMinute(final Date date) {
- return new DateTime(beginOfMinute(calendar(date)));
+ return new DateTime(CalendarUtil.beginOfMinute(CalendarUtil.calendar(date)));
}
/**
@@ -956,7 +925,7 @@ public class DateUtil extends CalendarUtil {
* @return {@link DateTime}
*/
public static DateTime endOfMinute(final Date date) {
- return new DateTime(endOfMinute(calendar(date)));
+ return new DateTime(CalendarUtil.endOfMinute(CalendarUtil.calendar(date)));
}
/**
@@ -966,7 +935,7 @@ public class DateUtil extends CalendarUtil {
* @return {@link DateTime}
*/
public static DateTime beginOfDay(final Date date) {
- return new DateTime(beginOfDay(calendar(date)));
+ return new DateTime(CalendarUtil.beginOfDay(CalendarUtil.calendar(date)));
}
/**
@@ -976,7 +945,7 @@ public class DateUtil extends CalendarUtil {
* @return {@link DateTime}
*/
public static DateTime endOfDay(final Date date) {
- return new DateTime(endOfDay(calendar(date)));
+ return new DateTime(CalendarUtil.endOfDay(CalendarUtil.calendar(date)));
}
/**
@@ -986,7 +955,7 @@ public class DateUtil extends CalendarUtil {
* @return {@link DateTime}
*/
public static DateTime beginOfWeek(final Date date) {
- return new DateTime(beginOfWeek(calendar(date)));
+ return new DateTime(CalendarUtil.beginOfWeek(CalendarUtil.calendar(date)));
}
/**
@@ -998,7 +967,7 @@ public class DateUtil extends CalendarUtil {
* @since 5.4.0
*/
public static DateTime beginOfWeek(final Date date, final boolean isMondayAsFirstDay) {
- return new DateTime(beginOfWeek(calendar(date), isMondayAsFirstDay));
+ return new DateTime(CalendarUtil.beginOfWeek(CalendarUtil.calendar(date), isMondayAsFirstDay));
}
/**
@@ -1008,7 +977,7 @@ public class DateUtil extends CalendarUtil {
* @return {@link DateTime}
*/
public static DateTime endOfWeek(final Date date) {
- return new DateTime(endOfWeek(calendar(date)));
+ return new DateTime(CalendarUtil.endOfWeek(CalendarUtil.calendar(date)));
}
/**
@@ -1020,7 +989,7 @@ public class DateUtil extends CalendarUtil {
* @since 5.4.0
*/
public static DateTime endOfWeek(final Date date, final boolean isSundayAsLastDay) {
- return new DateTime(endOfWeek(calendar(date), isSundayAsLastDay));
+ return new DateTime(CalendarUtil.endOfWeek(CalendarUtil.calendar(date), isSundayAsLastDay));
}
/**
@@ -1030,7 +999,7 @@ public class DateUtil extends CalendarUtil {
* @return {@link DateTime}
*/
public static DateTime beginOfMonth(final Date date) {
- return new DateTime(beginOfMonth(calendar(date)));
+ return new DateTime(CalendarUtil.beginOfMonth(CalendarUtil.calendar(date)));
}
/**
@@ -1040,7 +1009,7 @@ public class DateUtil extends CalendarUtil {
* @return {@link DateTime}
*/
public static DateTime endOfMonth(final Date date) {
- return new DateTime(endOfMonth(calendar(date)));
+ return new DateTime(CalendarUtil.endOfMonth(CalendarUtil.calendar(date)));
}
/**
@@ -1050,7 +1019,7 @@ public class DateUtil extends CalendarUtil {
* @return {@link DateTime}
*/
public static DateTime beginOfQuarter(final Date date) {
- return new DateTime(beginOfQuarter(calendar(date)));
+ return new DateTime(CalendarUtil.beginOfQuarter(CalendarUtil.calendar(date)));
}
/**
@@ -1060,7 +1029,7 @@ public class DateUtil extends CalendarUtil {
* @return {@link DateTime}
*/
public static DateTime endOfQuarter(final Date date) {
- return new DateTime(endOfQuarter(calendar(date)));
+ return new DateTime(CalendarUtil.endOfQuarter(CalendarUtil.calendar(date)));
}
/**
@@ -1070,7 +1039,7 @@ public class DateUtil extends CalendarUtil {
* @return {@link DateTime}
*/
public static DateTime beginOfYear(final Date date) {
- return new DateTime(beginOfYear(calendar(date)));
+ return new DateTime(CalendarUtil.beginOfYear(CalendarUtil.calendar(date)));
}
/**
@@ -1080,7 +1049,7 @@ public class DateUtil extends CalendarUtil {
* @return {@link DateTime}
*/
public static DateTime endOfYear(final Date date) {
- return new DateTime(endOfYear(calendar(date)));
+ return new DateTime(CalendarUtil.endOfYear(CalendarUtil.calendar(date)));
}
/**
@@ -1483,7 +1452,7 @@ public class DateUtil extends CalendarUtil {
if (date1 == null || date2 == null) {
throw new IllegalArgumentException("The date must not be null");
}
- return CalendarUtil.isSameDay(calendar(date1), calendar(date2));
+ return CalendarUtil.isSameDay(CalendarUtil.calendar(date1), CalendarUtil.calendar(date2));
}
/**
@@ -1498,7 +1467,7 @@ public class DateUtil extends CalendarUtil {
if (date1 == null || date2 == null) {
throw new IllegalArgumentException("The date must not be null");
}
- return CalendarUtil.isSameWeek(calendar(date1), calendar(date2), isMon);
+ return CalendarUtil.isSameWeek(CalendarUtil.calendar(date1), CalendarUtil.calendar(date2), isMon);
}
/**
@@ -1513,7 +1482,7 @@ public class DateUtil extends CalendarUtil {
if (date1 == null || date2 == null) {
throw new IllegalArgumentException("The date must not be null");
}
- return CalendarUtil.isSameMonth(calendar(date1), calendar(date2));
+ return CalendarUtil.isSameMonth(CalendarUtil.calendar(date1), CalendarUtil.calendar(date2));
}
@@ -1650,7 +1619,7 @@ public class DateUtil extends CalendarUtil {
if (null == dateToCompare) {
dateToCompare = now();
}
- return age(birthday.getTime(), dateToCompare.getTime());
+ return CalendarUtil.age(birthday.getTime(), dateToCompare.getTime());
}
/**
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/date/Zodiac.java b/hutool-core/src/main/java/org/dromara/hutool/core/date/Zodiac.java
index 70e7360de..5a75af4b5 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/date/Zodiac.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/date/Zodiac.java
@@ -38,7 +38,7 @@ public class Zodiac {
* @return 星座名
*/
public static String getZodiac(final Date date) {
- return getZodiac(DateUtil.calendar(date));
+ return getZodiac(CalendarUtil.calendar(date));
}
/**
@@ -90,7 +90,7 @@ public class Zodiac {
* @return 星座名
*/
public static String getChineseZodiac(final Date date) {
- return getChineseZodiac(DateUtil.calendar(date));
+ return getChineseZodiac(CalendarUtil.calendar(date));
}
/**
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/date/DateUtilTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/date/DateUtilTest.java
index 1be1cb6f9..fda425535 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/date/DateUtilTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/date/DateUtilTest.java
@@ -170,12 +170,12 @@ public class DateUtilTest {
final Date endOfWeek = DateUtil.endOfWeek(date);
Assertions.assertEquals("2017-03-05 23:59:59", endOfWeek.toString());
- final Calendar calendar = DateUtil.calendar(date);
+ final Calendar calendar = CalendarUtil.calendar(date);
// 一周的开始
- final Calendar begin = DateUtil.beginOfWeek(calendar);
+ final Calendar begin = CalendarUtil.beginOfWeek(calendar);
Assertions.assertEquals("2017-02-27 00:00:00", DateUtil.date(begin).toString());
// 一周的结束
- final Calendar end = DateUtil.endOfWeek(calendar);
+ final Calendar end = CalendarUtil.endOfWeek(calendar);
Assertions.assertEquals("2017-03-05 23:59:59", DateUtil.date(end).toString());
}
@@ -184,11 +184,11 @@ public class DateUtilTest {
final String beginStr = "2020-03-11";
final DateTime date = DateUtil.parse(beginStr);
final Calendar calendar = Objects.requireNonNull(date).toCalendar();
- final Calendar begin = DateUtil.beginOfWeek(calendar, false);
+ final Calendar begin = CalendarUtil.beginOfWeek(calendar, false);
Assertions.assertEquals("2020-03-08 00:00:00", DateUtil.date(begin).toString());
final Calendar calendar2 = date.toCalendar();
- final Calendar end = DateUtil.endOfWeek(calendar2, false);
+ final Calendar end = CalendarUtil.endOfWeek(calendar2, false);
Assertions.assertEquals("2020-03-14 23:59:59", DateUtil.date(end).toString());
}
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/date/Issue3011Test.java b/hutool-core/src/test/java/org/dromara/hutool/core/date/Issue3011Test.java
index f09efc7b7..11909d69e 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/date/Issue3011Test.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/date/Issue3011Test.java
@@ -30,6 +30,6 @@ public class Issue3011Test {
calendar2.set(2021, Calendar.FEBRUARY, 12);
- Assertions.assertFalse(DateUtil.isSameMonth(calendar1, calendar2));
+ Assertions.assertFalse(CalendarUtil.isSameMonth(calendar1, calendar2));
}
}
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/lang/range/RangeTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/lang/range/RangeTest.java
index 4aa783f00..45ba35444 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/lang/range/RangeTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/lang/range/RangeTest.java
@@ -33,8 +33,8 @@ public class RangeTest {
@Test
public void dateRangeTest() {
- final DateTime start = DateUtil.parseDateTime("2017-01-01");
- final DateTime end = DateUtil.parseDateTime("2017-01-02");
+ final DateTime start = DateUtil.parse("2017-01-01");
+ final DateTime end = DateUtil.parse("2017-01-02");
final Range range = new Range<>(start, end, (current, end1, index) -> {
if (current.isAfterOrEquals(end1)) {