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.convert.ConvertException;
|
||||||
import org.dromara.hutool.core.date.DateTime;
|
import org.dromara.hutool.core.date.DateTime;
|
||||||
import org.dromara.hutool.core.date.DateUtil;
|
import org.dromara.hutool.core.date.DateUtil;
|
||||||
|
import org.dromara.hutool.core.date.SqlDateUtil;
|
||||||
import org.dromara.hutool.core.text.StrUtil;
|
import org.dromara.hutool.core.text.StrUtil;
|
||||||
|
|
||||||
import java.time.temporal.TemporalAccessor;
|
import java.time.temporal.TemporalAccessor;
|
||||||
@ -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
|
* @param mills Date
|
||||||
* @return 目标类型对象
|
* @return 目标类型对象
|
||||||
@ -130,16 +138,7 @@ public class DateConverter extends AbstractConverter {
|
|||||||
if (DateTime.class == targetClass) {
|
if (DateTime.class == targetClass) {
|
||||||
return DateUtil.date(mills);
|
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;
|
package org.dromara.hutool.core.date;
|
||||||
|
|
||||||
import org.dromara.hutool.core.lang.Assert;
|
import org.dromara.hutool.core.lang.Assert;
|
||||||
|
import org.dromara.hutool.core.text.StrUtil;
|
||||||
|
|
||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@ -32,7 +33,7 @@ public class SqlDateUtil {
|
|||||||
* @param date 日期时间,非空
|
* @param date 日期时间,非空
|
||||||
* @return {@link Timestamp}
|
* @return {@link Timestamp}
|
||||||
*/
|
*/
|
||||||
public static Timestamp timestamp(final Date date) {
|
public static Timestamp timestamp(final java.util.Date date) {
|
||||||
Assert.notNull(date);
|
Assert.notNull(date);
|
||||||
return new Timestamp(date.getTime());
|
return new Timestamp(date.getTime());
|
||||||
}
|
}
|
||||||
@ -44,7 +45,7 @@ public class SqlDateUtil {
|
|||||||
* @param date 日期时间,非空
|
* @param date 日期时间,非空
|
||||||
* @return {@link java.sql.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);
|
Assert.notNull(date);
|
||||||
return new java.sql.Date(date.getTime());
|
return new java.sql.Date(date.getTime());
|
||||||
}
|
}
|
||||||
@ -56,9 +57,45 @@ public class SqlDateUtil {
|
|||||||
* @param date 日期时间,非空
|
* @param date 日期时间,非空
|
||||||
* @return {@link java.sql.Time}
|
* @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);
|
Assert.notNull(date);
|
||||||
return new java.sql.Time(date.getTime());
|
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