Skip to content

Commit db108e1

Browse files
committed
DateUtil.date方法统一修改规则,传入null返回null
1 parent c64b382 commit db108e1

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
* 【db 】 AbstractDb添加返回类型为PageResult的page重载方法(pr#916@Gitee)
1515
* 【core 】 DesensitizedUtil增加对IPv4和IPv6支持(issue#I6ABCS@Gitee)
1616
* 【core 】 针对CollUtil.subtract coll1 为只读集合的补偿(pr#2865@Github)
17+
* 【core 】 DateUtil.date方法统一修改规则,传入null返回null(pr#2877@Github)
1718

1819
### 🐞Bug修复
1920
* 【core 】 修复HexUtil.isHexNumber()对"-"的判断问题(issue#2857@Github)

hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java

+13-4
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,14 @@ public static DateTime dateSecond() {
6868
* {@link Date}类型时间转为{@link DateTime}<br>
6969
* 如果date本身为DateTime对象,则返回强转后的对象,否则新建一个DateTime对象
7070
*
71-
* @param date Long类型Date(Unix时间戳)
71+
* @param date Long类型Date(Unix时间戳),如果传入{@code null},返回{@code null}
7272
* @return 时间对象
7373
* @since 3.0.7
7474
*/
7575
public static DateTime date(Date date) {
76+
if (date == null) {
77+
return null;
78+
}
7679
if (date instanceof DateTime) {
7780
return (DateTime) date;
7881
}
@@ -82,11 +85,14 @@ public static DateTime date(Date date) {
8285
/**
8386
* 根据已有{@link Date} 产生新的{@link DateTime}对象
8487
*
85-
* @param date Date对象
88+
* @param date Date对象,如果传入{@code null},返回{@code null}
8689
* @return {@link DateTime}对象
8790
* @since 4.3.1
8891
*/
8992
public static DateTime dateNew(Date date) {
93+
if (date == null) {
94+
return null;
95+
}
9096
return new DateTime(date);
9197
}
9298

@@ -105,18 +111,21 @@ public static DateTime date(long date) {
105111
* {@link Calendar}类型时间转为{@link DateTime}<br>
106112
* 始终根据已有{@link Calendar} 产生新的{@link DateTime}对象
107113
*
108-
* @param calendar {@link Calendar}
114+
* @param calendar {@link Calendar},如果传入{@code null},返回{@code null}
109115
* @return 时间对象
110116
*/
111117
public static DateTime date(Calendar calendar) {
118+
if (calendar == null) {
119+
return null;
120+
}
112121
return new DateTime(calendar);
113122
}
114123

115124
/**
116125
* {@link TemporalAccessor}类型时间转为{@link DateTime}<br>
117126
* 始终根据已有{@link TemporalAccessor} 产生新的{@link DateTime}对象
118127
*
119-
* @param temporalAccessor {@link TemporalAccessor},常用子类: {@link LocalDateTime}、 LocalDate
128+
* @param temporalAccessor {@link TemporalAccessor},常用子类: {@link LocalDateTime}、 LocalDate,如果传入{@code null},返回{@code null}
120129
* @return 时间对象
121130
* @since 5.0.0
122131
*/

0 commit comments

Comments
 (0)