mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
add methods
This commit is contained in:
parent
3daeac4631
commit
abb87d530b
@ -61,6 +61,7 @@ public class TemporalUtil {
|
|||||||
* @param unit 被转换的{@link TimeUnit}单位,如果为{@code null}返回{@code null}
|
* @param unit 被转换的{@link TimeUnit}单位,如果为{@code null}返回{@code null}
|
||||||
* @return {@link ChronoUnit}
|
* @return {@link ChronoUnit}
|
||||||
* @since 5.7.16
|
* @since 5.7.16
|
||||||
|
* @throws IllegalArgumentException Unknown TimeUnit
|
||||||
*/
|
*/
|
||||||
public static ChronoUnit toChronoUnit(final TimeUnit unit) throws IllegalArgumentException {
|
public static ChronoUnit toChronoUnit(final TimeUnit unit) throws IllegalArgumentException {
|
||||||
if (null == unit) {
|
if (null == unit) {
|
||||||
|
@ -444,6 +444,16 @@ public class TimeUtil extends TemporalAccessorUtil {
|
|||||||
return time.with(LocalTime.MIN);
|
return time.with(LocalTime.MIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改为一天的开始时间,例如:2020-02-02 00:00:00,000
|
||||||
|
*
|
||||||
|
* @param date 日期
|
||||||
|
* @return 一天的开始时间
|
||||||
|
*/
|
||||||
|
public static LocalDateTime beginOfDay(final LocalDate date) {
|
||||||
|
return date.atStartOfDay();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改为一天的结束时间,例如:
|
* 修改为一天的结束时间,例如:
|
||||||
* <ul>
|
* <ul>
|
||||||
@ -460,6 +470,22 @@ public class TimeUtil extends TemporalAccessorUtil {
|
|||||||
return time.with(LocalTimeUtil.max(truncateMillisecond));
|
return time.with(LocalTimeUtil.max(truncateMillisecond));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改为一天的结束时间,例如:
|
||||||
|
* <ul>
|
||||||
|
* <li>毫秒不归零:2020-02-02 23:59:59,999</li>
|
||||||
|
* <li>毫秒归零:2020-02-02 23:59:59,000</li>
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* @param date 日期
|
||||||
|
* @param truncateMillisecond 是否毫秒归零
|
||||||
|
* @return 一天的结束时间
|
||||||
|
* @since 5.7.18
|
||||||
|
*/
|
||||||
|
public static LocalDateTime endOfDay(final LocalDate date, final boolean truncateMillisecond) {
|
||||||
|
return LocalDateTime.of(date, LocalTimeUtil.max(truncateMillisecond));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改为月初的开始时间,例如:2020-02-01 00:00:00,000
|
* 修改为月初的开始时间,例如:2020-02-01 00:00:00,000
|
||||||
*
|
*
|
||||||
@ -468,7 +494,18 @@ public class TimeUtil extends TemporalAccessorUtil {
|
|||||||
* @since 6.0.0
|
* @since 6.0.0
|
||||||
*/
|
*/
|
||||||
public static LocalDateTime beginOfMonth(final LocalDateTime time) {
|
public static LocalDateTime beginOfMonth(final LocalDateTime time) {
|
||||||
return beginOfDay(time).with(TemporalAdjusters.firstDayOfMonth());
|
return beginOfDay(beginOfMonth(time.toLocalDate()));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改为月初的开始时间,例如:2020-02-01 00:00:00,000
|
||||||
|
*
|
||||||
|
* @param date 日期
|
||||||
|
* @return 月初的开始时间
|
||||||
|
* @since 6.0.0
|
||||||
|
*/
|
||||||
|
public static LocalDate beginOfMonth(final LocalDate date) {
|
||||||
|
return date.with(TemporalAdjusters.firstDayOfMonth());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -480,7 +517,18 @@ public class TimeUtil extends TemporalAccessorUtil {
|
|||||||
* @since 6.0.0
|
* @since 6.0.0
|
||||||
*/
|
*/
|
||||||
public static LocalDateTime endOfMonth(final LocalDateTime time, final boolean truncateMillisecond) {
|
public static LocalDateTime endOfMonth(final LocalDateTime time, final boolean truncateMillisecond) {
|
||||||
return endOfDay(time, truncateMillisecond).with(TemporalAdjusters.lastDayOfMonth());
|
return endOfDay(endOfMonth(time.toLocalDate()), truncateMillisecond);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改为月底的结束时间
|
||||||
|
*
|
||||||
|
* @param date 日期
|
||||||
|
* @return 月底的结束时间
|
||||||
|
* @since 6.0.0
|
||||||
|
*/
|
||||||
|
public static LocalDate endOfMonth(final LocalDate date) {
|
||||||
|
return date.with(TemporalAdjusters.lastDayOfMonth());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -491,7 +539,18 @@ public class TimeUtil extends TemporalAccessorUtil {
|
|||||||
* @since 6.0.0
|
* @since 6.0.0
|
||||||
*/
|
*/
|
||||||
public static LocalDateTime beginOfYear(final LocalDateTime time) {
|
public static LocalDateTime beginOfYear(final LocalDateTime time) {
|
||||||
return beginOfDay(time).with(TemporalAdjusters.firstDayOfYear());
|
return beginOfDay(beginOfYear(time.toLocalDate()));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改为一年的开始时间,例如:2020-01-01 00:00:00,000
|
||||||
|
*
|
||||||
|
* @param date 日期
|
||||||
|
* @return 一年的开始时间
|
||||||
|
* @since 6.0.0
|
||||||
|
*/
|
||||||
|
public static LocalDate beginOfYear(final LocalDate date) {
|
||||||
|
return date.with(TemporalAdjusters.firstDayOfYear());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -503,7 +562,18 @@ public class TimeUtil extends TemporalAccessorUtil {
|
|||||||
* @since 6.0.0
|
* @since 6.0.0
|
||||||
*/
|
*/
|
||||||
public static LocalDateTime endOfYear(final LocalDateTime time, final boolean truncateMillisecond) {
|
public static LocalDateTime endOfYear(final LocalDateTime time, final boolean truncateMillisecond) {
|
||||||
return endOfDay(time, truncateMillisecond).with(TemporalAdjusters.lastDayOfYear());
|
return endOfDay(endOfYear(time.toLocalDate()), truncateMillisecond);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改为一年的结束时间
|
||||||
|
*
|
||||||
|
* @param date 日期
|
||||||
|
* @return 一年的结束时间
|
||||||
|
* @since 6.0.0
|
||||||
|
*/
|
||||||
|
public static LocalDate endOfYear(final LocalDate date) {
|
||||||
|
return date.with(TemporalAdjusters.lastDayOfYear());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user