mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
change date converter
This commit is contained in:
@@ -13,13 +13,14 @@ import java.util.Calendar;
|
||||
* 日期转换器
|
||||
*
|
||||
* @author Looly
|
||||
*
|
||||
*/
|
||||
public class DateConverter extends AbstractConverter<java.util.Date> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private final Class<? extends java.util.Date> targetType;
|
||||
/** 日期格式化 */
|
||||
/**
|
||||
* 日期格式化
|
||||
*/
|
||||
private String format;
|
||||
|
||||
/**
|
||||
@@ -35,7 +36,7 @@ public class DateConverter extends AbstractConverter<java.util.Date> {
|
||||
* 构造
|
||||
*
|
||||
* @param targetType 目标类型
|
||||
* @param format 日期格式
|
||||
* @param format 日期格式
|
||||
*/
|
||||
public DateConverter(Class<? extends java.util.Date> targetType, String format) {
|
||||
this.targetType = targetType;
|
||||
@@ -74,11 +75,11 @@ public class DateConverter extends AbstractConverter<java.util.Date> {
|
||||
} else {
|
||||
// 统一按照字符串处理
|
||||
final String valueStr = convertToStr(value);
|
||||
final java.util.Date date = StrUtil.isBlank(this.format) //
|
||||
final DateTime dateTime = StrUtil.isBlank(this.format) //
|
||||
? DateUtil.parse(valueStr) //
|
||||
: DateUtil.parse(valueStr, this.format);
|
||||
if(null != date){
|
||||
return wrap(date);
|
||||
if (null != dateTime) {
|
||||
return wrap(dateTime);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,25 +88,26 @@ public class DateConverter extends AbstractConverter<java.util.Date> {
|
||||
|
||||
/**
|
||||
* java.util.Date转为子类型
|
||||
*
|
||||
* @param date Date
|
||||
* @return 目标类型对象
|
||||
*/
|
||||
private java.util.Date wrap(java.util.Date date){
|
||||
private java.util.Date wrap(DateTime date) {
|
||||
// 返回指定类型
|
||||
if (java.util.Date.class == targetType) {
|
||||
return date;
|
||||
return date.toJdkDate();
|
||||
}
|
||||
if (DateTime.class == targetType) {
|
||||
return DateUtil.date(date);
|
||||
return date;
|
||||
}
|
||||
if (java.sql.Date.class == targetType) {
|
||||
return new java.sql.Date(date.getTime());
|
||||
return date.toSqlDate();
|
||||
}
|
||||
if (java.sql.Time.class == targetType) {
|
||||
return new java.sql.Time(date.getTime());
|
||||
}
|
||||
if (java.sql.Timestamp.class == targetType) {
|
||||
return new java.sql.Timestamp(date.getTime());
|
||||
return date.toTimestamp();
|
||||
}
|
||||
|
||||
throw new UnsupportedOperationException(StrUtil.format("Unsupported target Date type: {}", this.targetType.getName()));
|
||||
@@ -113,10 +115,11 @@ public class DateConverter extends AbstractConverter<java.util.Date> {
|
||||
|
||||
/**
|
||||
* java.util.Date转为子类型
|
||||
*
|
||||
* @param mills Date
|
||||
* @return 目标类型对象
|
||||
*/
|
||||
private java.util.Date wrap(long mills){
|
||||
private java.util.Date wrap(long mills) {
|
||||
// 返回指定类型
|
||||
if (java.util.Date.class == targetType) {
|
||||
return new java.util.Date(mills);
|
||||
|
Reference in New Issue
Block a user