diff --git a/hutool-core/src/main/java/cn/hutool/core/date/CalendarUtil.java b/hutool-core/src/main/java/cn/hutool/core/date/CalendarUtil.java index 9e2cb687b..059c1d97a 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/CalendarUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/CalendarUtil.java @@ -134,6 +134,26 @@ public class CalendarUtil { return ceiling(calendar, DateField.SECOND); } + /** + * 获取某小时的开始时间 + * + * @param calendar 日期 {@link Calendar} + * @return {@link Calendar} + */ + public static Calendar beginOfHour(Calendar calendar) { + return truncate(calendar, DateField.HOUR_OF_DAY); + } + + /** + * 获取某小时的结束时间 + * + * @param calendar 日期 {@link Calendar} + * @return {@link Calendar} + */ + public static Calendar endOfHour(Calendar calendar) { + return ceiling(calendar, DateField.HOUR_OF_DAY); + } + /** * 获取某天的开始时间 * @@ -310,8 +330,8 @@ public class CalendarUtil { * *
此方法检查两个Calendar的毫秒数时间戳是否相同。
* - * @param date1 时间1 - * @param date2 时间2 + * @param date1 时间1 + * @param date2 时间2 * @return 两个Calendar时间戳是否相同。如果两个时间都为{@code null}返回true,否则有{@code null}返回false * @since 5.3.11 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java b/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java index fbf27ca63..aa0ec8d81 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java @@ -1010,6 +1010,26 @@ public class DateUtil extends CalendarUtil { return new DateTime(endOfSecond(calendar(date))); } + /** + * 获取某小时的开始时间 + * + * @param date 日期 + * @return {@link DateTime} + */ + public static DateTime beginOfHour(Date date) { + return new DateTime(beginOfHour(calendar(date))); + } + + /** + * 获取某小时的结束时间 + * + * @param date 日期 + * @return {@link DateTime} + */ + public static DateTime endOfHour(Date date) { + return new DateTime(endOfHour(calendar(date))); + } + /** * 获取某天的开始时间 * @@ -1931,7 +1951,7 @@ public class DateUtil extends CalendarUtil { * 创建{@link SimpleDateFormat},注意此对象非线程安全!