Browse Source

DateUtil和CalendarUtil添加获取某小时的开始时间和结束时间的方法

jiangli 4 years ago
parent
commit
8ba4cf7d44

+ 22 - 2
hutool-core/src/main/java/cn/hutool/core/date/CalendarUtil.java

@@ -135,6 +135,26 @@ public class CalendarUtil {
 	}
 
 	/**
+	 * 获取某小时的开始时间
+	 *
+	 * @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);
+	}
+
+	/**
 	 * 获取某天的开始时间
 	 *
 	 * @param calendar 日期 {@link Calendar}
@@ -310,8 +330,8 @@ public class CalendarUtil {
 	 *
 	 * <p>此方法检查两个Calendar的毫秒数时间戳是否相同。</p>
 	 *
-	 * @param date1  时间1
-	 * @param date2  时间2
+	 * @param date1 时间1
+	 * @param date2 时间2
 	 * @return 两个Calendar时间戳是否相同。如果两个时间都为{@code null}返回true,否则有{@code null}返回false
 	 * @since 5.3.11
 	 */

+ 21 - 1
hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java

@@ -1011,6 +1011,26 @@ public class DateUtil extends CalendarUtil {
 	}
 
 	/**
+	 * 获取某小时的开始时间
+	 *
+	 * @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)));
+	}
+
+	/**
 	 * 获取某天的开始时间
 	 *
 	 * @param date 日期
@@ -1931,7 +1951,7 @@ public class DateUtil extends CalendarUtil {
 	 * 创建{@link SimpleDateFormat},注意此对象非线程安全!<br>
 	 * 此对象默认为严格格式模式,即parse时如果格式不正确会报错。
 	 *
-	 * @param pattern  表达式
+	 * @param pattern 表达式
 	 * @return {@link SimpleDateFormat}
 	 * @since 5.5.5
 	 */