This commit is contained in:
Looly 2023-02-09 20:49:41 +08:00
parent 719f1c4071
commit a1868f4834
2 changed files with 37 additions and 17 deletions

View File

@ -45,7 +45,7 @@ public class DateTime extends Date {
* @param customUseJdkToStringStyle 是否使用{@link Date}默认的toString()格式
* @since 5.7.21
*/
public static void setUseJdkToStringStyle(final boolean customUseJdkToStringStyle){
public static void setUseJdkToStringStyle(final boolean customUseJdkToStringStyle) {
useJdkToStringStyle = customUseJdkToStringStyle;
}
@ -134,7 +134,7 @@ public class DateTime extends Date {
/**
* 当前时间
*
* @param timeZone 时区
* @param timeZone 时区{@code null}表示默认时区
* @since 4.1.2
*/
public DateTime(final TimeZone timeZone) {
@ -156,8 +156,8 @@ public class DateTime extends Date {
/**
* 给定日期的构造
*
* @param date 日期
* @param timeZone 时区
* @param date 日期{@code null}表示当前时间
* @param timeZone 时区{@code null}表示默认时区
* @since 4.1.2
*/
public DateTime(final Date date, final TimeZone timeZone) {
@ -167,7 +167,7 @@ public class DateTime extends Date {
/**
* 给定日期的构造
*
* @param calendar {@link Calendar}
* @param calendar {@link Calendar}不能为{@code null}
*/
public DateTime(final Calendar calendar) {
this(calendar.getTime(), calendar.getTimeZone());
@ -177,7 +177,7 @@ public class DateTime extends Date {
/**
* 给定日期Instant的构造
*
* @param instant {@link Instant} 对象
* @param instant {@link Instant} 对象不能为{@code null}
* @since 5.0.0
*/
public DateTime(final Instant instant) {
@ -945,19 +945,21 @@ public class DateTime extends Date {
/**
* 是否为本月最后一天
*
* @return 是否为本月最后一天
* @since 5.8.8
*/
public boolean isLastDayOfMonth(){
public boolean isLastDayOfMonth() {
return dayOfMonth() == getLastDayOfMonth();
}
/**
* 获得本月的最后一天
*
* @return
* @since 5.8.8
*/
public int getLastDayOfMonth(){
public int getLastDayOfMonth() {
return monthEnum().getLastDay(isLeapYear());
}
@ -973,7 +975,7 @@ public class DateTime extends Date {
*/
@Override
public String toString() {
if(useJdkToStringStyle){
if (useJdkToStringStyle) {
return super.toString();
}
return toString(this.timeZone);

View File

@ -89,11 +89,14 @@ public class DateUtil extends CalendarUtil {
* {@link Date}类型时间转为{@link DateTime}<br>
* 如果date本身为DateTime对象则返回强转后的对象否则新建一个DateTime对象
*
* @param date {@link Date}
* @param date {@link Date}如果传入{@code null}返回{@code null}
* @return 时间对象
* @since 3.0.7
*/
public static DateTime date(final Date date) {
if (date == null) {
return null;
}
if (date instanceof DateTime) {
return (DateTime) date;
}
@ -103,33 +106,42 @@ public class DateUtil extends CalendarUtil {
/**
* {@link XMLGregorianCalendar}类型时间转为{@link DateTime}
*
* @param date {@link XMLGregorianCalendar}
* @param date {@link XMLGregorianCalendar}如果传入{@code null}返回{@code null}
* @return 时间对象
* @since 6.0.0
*/
public static DateTime date(final XMLGregorianCalendar date) {
if (date == null) {
return null;
}
return date(date.toGregorianCalendar());
}
/**
* 根据已有{@link Date} 产生新的{@link DateTime}对象
*
* @param date Date对象
* @param date Date对象如果传入{@code null}返回{@code null}
* @return {@link DateTime}对象
* @since 4.3.1
*/
public static DateTime dateNew(final Date date) {
if (date == null) {
return null;
}
return new DateTime(date);
}
/**
* 根据已有{@link Date} 产生新的{@link DateTime}对象并根据指定时区转换
*
* @param date Date对象
* @param timeZone 时区
* @param date Date对象如果传入{@code null}返回{@code null}
* @param timeZone 时区传入{@code null}则使用默认时区
* @return {@link DateTime}对象
*/
public static DateTime date(final Date date, final TimeZone timeZone) {
if (date == null) {
return null;
}
return new DateTime(date, timeZone);
}
@ -148,10 +160,13 @@ public class DateUtil extends CalendarUtil {
* {@link Calendar}类型时间转为{@link DateTime}<br>
* 始终根据已有{@link Calendar} 产生新的{@link DateTime}对象
*
* @param calendar {@link Calendar}
* @param calendar {@link Calendar}如果传入{@code null}返回{@code null}
* @return 时间对象
*/
public static DateTime date(final Calendar calendar) {
if (calendar == null) {
return null;
}
return new DateTime(calendar);
}
@ -159,11 +174,14 @@ public class DateUtil extends CalendarUtil {
* {@link TemporalAccessor}类型时间转为{@link DateTime}<br>
* 始终根据已有{@link TemporalAccessor} 产生新的{@link DateTime}对象
*
* @param temporalAccessor {@link TemporalAccessor},常用子类 {@link LocalDateTime} LocalDate
* @param temporalAccessor {@link TemporalAccessor},常用子类 {@link LocalDateTime} LocalDate如果传入{@code null}返回{@code null}
* @return 时间对象
* @since 5.0.0
*/
public static DateTime date(final TemporalAccessor temporalAccessor) {
if (temporalAccessor == null) {
return null;
}
return new DateTime(temporalAccessor);
}
@ -2016,7 +2034,7 @@ public class DateUtil extends CalendarUtil {
// x>b||a>y 无交集
// 则有交集的逻辑为 !(x>b||a>y)
// 根据德摩根公式可化简为 x<=b && a<=y realStartTime<=endTime && startTime<=realEndTime
return realStartTime.compareTo(endTime) <=0 && startTime.compareTo(realEndTime) <= 0;
return realStartTime.compareTo(endTime) <= 0 && startTime.compareTo(realEndTime) <= 0;
}
/**