mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
fix code
This commit is contained in:
parent
2c060433b9
commit
17243c0427
@ -16,6 +16,7 @@ import org.dromara.hutool.core.convert.AbstractConverter;
|
||||
import org.dromara.hutool.core.convert.ConvertException;
|
||||
import org.dromara.hutool.core.date.DateTime;
|
||||
import org.dromara.hutool.core.date.DateUtil;
|
||||
import org.dromara.hutool.core.date.SqlDateUtil;
|
||||
import org.dromara.hutool.core.text.StrUtil;
|
||||
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
@ -88,8 +89,8 @@ public class DateConverter extends AbstractConverter {
|
||||
// 统一按照字符串处理
|
||||
final String valueStr = convertToStr(value);
|
||||
final DateTime dateTime = StrUtil.isBlank(this.format) //
|
||||
? DateUtil.parse(valueStr) //
|
||||
: DateUtil.parse(valueStr, this.format);
|
||||
? DateUtil.parse(valueStr) //
|
||||
: DateUtil.parse(valueStr, this.format);
|
||||
if (null != dateTime) {
|
||||
return wrap(targetClass, dateTime);
|
||||
}
|
||||
@ -117,7 +118,14 @@ public class DateConverter extends AbstractConverter {
|
||||
}
|
||||
|
||||
/**
|
||||
* java.util.Date转为子类型
|
||||
* 时间戳转为子类型,支持:
|
||||
* <ul>
|
||||
* <li>{@link java.util.Date}</li>
|
||||
* <li>{@link DateTime}</li>
|
||||
* <li>{@link java.sql.Date}</li>
|
||||
* <li>{@link java.sql.Time}</li>
|
||||
* <li>{@link java.sql.Timestamp}</li>
|
||||
* </ul>
|
||||
*
|
||||
* @param mills Date
|
||||
* @return 目标类型对象
|
||||
@ -130,16 +138,7 @@ public class DateConverter extends AbstractConverter {
|
||||
if (DateTime.class == targetClass) {
|
||||
return DateUtil.date(mills);
|
||||
}
|
||||
if (java.sql.Date.class == targetClass) {
|
||||
return new java.sql.Date(mills);
|
||||
}
|
||||
if (java.sql.Time.class == targetClass) {
|
||||
return new java.sql.Time(mills);
|
||||
}
|
||||
if (java.sql.Timestamp.class == targetClass) {
|
||||
return new java.sql.Timestamp(mills);
|
||||
}
|
||||
|
||||
throw new UnsupportedOperationException(StrUtil.format("Unsupported target Date type: {}", targetClass.getName()));
|
||||
return SqlDateUtil.wrap(targetClass, mills);
|
||||
}
|
||||
}
|
||||
|
@ -13,6 +13,7 @@
|
||||
package org.dromara.hutool.core.date;
|
||||
|
||||
import org.dromara.hutool.core.lang.Assert;
|
||||
import org.dromara.hutool.core.text.StrUtil;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.Date;
|
||||
@ -32,7 +33,7 @@ public class SqlDateUtil {
|
||||
* @param date 日期时间,非空
|
||||
* @return {@link Timestamp}
|
||||
*/
|
||||
public static Timestamp timestamp(final Date date) {
|
||||
public static Timestamp timestamp(final java.util.Date date) {
|
||||
Assert.notNull(date);
|
||||
return new Timestamp(date.getTime());
|
||||
}
|
||||
@ -44,7 +45,7 @@ public class SqlDateUtil {
|
||||
* @param date 日期时间,非空
|
||||
* @return {@link java.sql.Date}
|
||||
*/
|
||||
public static java.sql.Date date(final Date date) {
|
||||
public static java.sql.Date date(final java.util.Date date) {
|
||||
Assert.notNull(date);
|
||||
return new java.sql.Date(date.getTime());
|
||||
}
|
||||
@ -56,9 +57,45 @@ public class SqlDateUtil {
|
||||
* @param date 日期时间,非空
|
||||
* @return {@link java.sql.Time}
|
||||
*/
|
||||
public static java.sql.Time time(final Date date) {
|
||||
public static java.sql.Time time(final java.util.Date date) {
|
||||
Assert.notNull(date);
|
||||
return new java.sql.Time(date.getTime());
|
||||
}
|
||||
|
||||
/**
|
||||
* 时间戳转为子类型,支持:
|
||||
* <ul>
|
||||
* <li>{@link java.util.Date}</li>
|
||||
* <li>{@link DateTime}</li>
|
||||
* <li>{@link java.sql.Date}</li>
|
||||
* <li>{@link java.sql.Time}</li>
|
||||
* <li>{@link java.sql.Timestamp}</li>
|
||||
* </ul>
|
||||
*
|
||||
* @param <T> 日期类型
|
||||
* @param targetClass 目标类型
|
||||
* @param mills Date
|
||||
* @return 目标类型对象
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public static <T extends java.util.Date> T wrap(final Class<?> targetClass, final long mills) {
|
||||
// 返回指定类型
|
||||
if (java.util.Date.class == targetClass) {
|
||||
return (T) new Date(mills);
|
||||
}
|
||||
if (DateTime.class == targetClass) {
|
||||
return (T) DateUtil.date(mills);
|
||||
}
|
||||
if (java.sql.Date.class == targetClass) {
|
||||
return (T) new java.sql.Date(mills);
|
||||
}
|
||||
if (java.sql.Time.class == targetClass) {
|
||||
return (T) new java.sql.Time(mills);
|
||||
}
|
||||
if (java.sql.Timestamp.class == targetClass) {
|
||||
return (T) new Timestamp(mills);
|
||||
}
|
||||
|
||||
throw new UnsupportedOperationException(StrUtil.format("Unsupported target Date type: {}", targetClass.getName()));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user