- 将 GsonTool 工具类调用替换为 GsonTool(新包路径) - 移动旧版 DateUtil 和 GsonTool 到 deprecated 包下- 更新所有相关导入语句以匹配新的工具类位置- 修改日期处理方法引用以适配新工具类 - 调整 JSON 处理逻辑以兼容新 GsonTool 接口pull/72/head
parent
a07001644b
commit
84aae28ca2
@ -1,156 +0,0 @@
|
||||
package com.xxl.job.core.util;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* date util
|
||||
*
|
||||
* @author xuxueli 2018-08-19 01:24:11
|
||||
*/
|
||||
public class DateUtil {
|
||||
|
||||
// ---------------------- format parse ----------------------
|
||||
private static Logger logger = LoggerFactory.getLogger(DateUtil.class);
|
||||
|
||||
private static final String DATE_FORMAT = "yyyy-MM-dd";
|
||||
private static final String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
|
||||
|
||||
private static final ThreadLocal<Map<String, DateFormat>> dateFormatThreadLocal = new ThreadLocal<Map<String, DateFormat>>();
|
||||
private static DateFormat getDateFormat(String pattern) {
|
||||
if (pattern==null || pattern.trim().length()==0) {
|
||||
throw new IllegalArgumentException("pattern cannot be empty.");
|
||||
}
|
||||
|
||||
Map<String, DateFormat> dateFormatMap = dateFormatThreadLocal.get();
|
||||
if(dateFormatMap!=null && dateFormatMap.containsKey(pattern)){
|
||||
return dateFormatMap.get(pattern);
|
||||
}
|
||||
|
||||
synchronized (dateFormatThreadLocal) {
|
||||
if (dateFormatMap == null) {
|
||||
dateFormatMap = new HashMap<String, DateFormat>();
|
||||
}
|
||||
dateFormatMap.put(pattern, new SimpleDateFormat(pattern));
|
||||
dateFormatThreadLocal.set(dateFormatMap);
|
||||
}
|
||||
|
||||
return dateFormatMap.get(pattern);
|
||||
}
|
||||
|
||||
/**
|
||||
* format datetime. like "yyyy-MM-dd"
|
||||
*
|
||||
* @param date
|
||||
* @return
|
||||
* @throws ParseException
|
||||
*/
|
||||
public static String formatDate(Date date) {
|
||||
return format(date, DATE_FORMAT);
|
||||
}
|
||||
|
||||
/**
|
||||
* format date. like "yyyy-MM-dd HH:mm:ss"
|
||||
*
|
||||
* @param date
|
||||
* @return
|
||||
* @throws ParseException
|
||||
*/
|
||||
public static String formatDateTime(Date date) {
|
||||
return format(date, DATETIME_FORMAT);
|
||||
}
|
||||
|
||||
/**
|
||||
* format date
|
||||
*
|
||||
* @param date
|
||||
* @param patten
|
||||
* @return
|
||||
* @throws ParseException
|
||||
*/
|
||||
public static String format(Date date, String patten) {
|
||||
return getDateFormat(patten).format(date);
|
||||
}
|
||||
|
||||
/**
|
||||
* parse date string, like "yyyy-MM-dd HH:mm:s"
|
||||
*
|
||||
* @param dateString
|
||||
* @return
|
||||
* @throws ParseException
|
||||
*/
|
||||
public static Date parseDate(String dateString){
|
||||
return parse(dateString, DATE_FORMAT);
|
||||
}
|
||||
|
||||
/**
|
||||
* parse datetime string, like "yyyy-MM-dd HH:mm:ss"
|
||||
*
|
||||
* @param dateString
|
||||
* @return
|
||||
* @throws ParseException
|
||||
*/
|
||||
public static Date parseDateTime(String dateString) {
|
||||
return parse(dateString, DATETIME_FORMAT);
|
||||
}
|
||||
|
||||
/**
|
||||
* parse date
|
||||
*
|
||||
* @param dateString
|
||||
* @param pattern
|
||||
* @return
|
||||
* @throws ParseException
|
||||
*/
|
||||
public static Date parse(String dateString, String pattern) {
|
||||
try {
|
||||
Date date = getDateFormat(pattern).parse(dateString);
|
||||
return date;
|
||||
} catch (Exception e) {
|
||||
logger.warn("parse date error, dateString = {}, pattern={}; errorMsg = {}", dateString, pattern, e.getMessage());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ---------------------- add date ----------------------
|
||||
|
||||
public static Date addYears(final Date date, final int amount) {
|
||||
return add(date, Calendar.YEAR, amount);
|
||||
}
|
||||
|
||||
public static Date addMonths(final Date date, final int amount) {
|
||||
return add(date, Calendar.MONTH, amount);
|
||||
}
|
||||
|
||||
public static Date addDays(final Date date, final int amount) {
|
||||
return add(date, Calendar.DAY_OF_MONTH, amount);
|
||||
}
|
||||
|
||||
public static Date addHours(final Date date, final int amount) {
|
||||
return add(date, Calendar.HOUR_OF_DAY, amount);
|
||||
}
|
||||
|
||||
public static Date addMinutes(final Date date, final int amount) {
|
||||
return add(date, Calendar.MINUTE, amount);
|
||||
}
|
||||
|
||||
private static Date add(final Date date, final int calendarField, final int amount) {
|
||||
if (date == null) {
|
||||
return null;
|
||||
}
|
||||
final Calendar c = Calendar.getInstance();
|
||||
c.setTime(date);
|
||||
c.add(calendarField, amount);
|
||||
return c.getTime();
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,156 @@
|
||||
//package com.xxl.job.core.util;
|
||||
//
|
||||
//import org.slf4j.Logger;
|
||||
//import org.slf4j.LoggerFactory;
|
||||
//
|
||||
//import java.text.DateFormat;
|
||||
//import java.text.ParseException;
|
||||
//import java.text.SimpleDateFormat;
|
||||
//import java.util.Calendar;
|
||||
//import java.util.Date;
|
||||
//import java.util.HashMap;
|
||||
//import java.util.Map;
|
||||
//
|
||||
///**
|
||||
// * date util
|
||||
// *
|
||||
// * @author xuxueli 2018-08-19 01:24:11
|
||||
// */
|
||||
//public class DateUtil {
|
||||
//
|
||||
// // ---------------------- format parse ----------------------
|
||||
// private static Logger logger = LoggerFactory.getLogger(DateUtil.class);
|
||||
//
|
||||
// private static final String DATE_FORMAT = "yyyy-MM-dd";
|
||||
// private static final String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
|
||||
//
|
||||
// private static final ThreadLocal<Map<String, DateFormat>> dateFormatThreadLocal = new ThreadLocal<Map<String, DateFormat>>();
|
||||
// private static DateFormat getDateFormat(String pattern) {
|
||||
// if (pattern==null || pattern.trim().length()==0) {
|
||||
// throw new IllegalArgumentException("pattern cannot be empty.");
|
||||
// }
|
||||
//
|
||||
// Map<String, DateFormat> dateFormatMap = dateFormatThreadLocal.get();
|
||||
// if(dateFormatMap!=null && dateFormatMap.containsKey(pattern)){
|
||||
// return dateFormatMap.get(pattern);
|
||||
// }
|
||||
//
|
||||
// synchronized (dateFormatThreadLocal) {
|
||||
// if (dateFormatMap == null) {
|
||||
// dateFormatMap = new HashMap<String, DateFormat>();
|
||||
// }
|
||||
// dateFormatMap.put(pattern, new SimpleDateFormat(pattern));
|
||||
// dateFormatThreadLocal.set(dateFormatMap);
|
||||
// }
|
||||
//
|
||||
// return dateFormatMap.get(pattern);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * format datetime. like "yyyy-MM-dd"
|
||||
// *
|
||||
// * @param date
|
||||
// * @return
|
||||
// * @throws ParseException
|
||||
// */
|
||||
// public static String formatDate(Date date) {
|
||||
// return format(date, DATE_FORMAT);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * format date. like "yyyy-MM-dd HH:mm:ss"
|
||||
// *
|
||||
// * @param date
|
||||
// * @return
|
||||
// * @throws ParseException
|
||||
// */
|
||||
// public static String formatDateTime(Date date) {
|
||||
// return format(date, DATETIME_FORMAT);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * format date
|
||||
// *
|
||||
// * @param date
|
||||
// * @param patten
|
||||
// * @return
|
||||
// * @throws ParseException
|
||||
// */
|
||||
// public static String format(Date date, String patten) {
|
||||
// return getDateFormat(patten).format(date);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * parse date string, like "yyyy-MM-dd HH:mm:s"
|
||||
// *
|
||||
// * @param dateString
|
||||
// * @return
|
||||
// * @throws ParseException
|
||||
// */
|
||||
// public static Date parseDate(String dateString){
|
||||
// return parse(dateString, DATE_FORMAT);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * parse datetime string, like "yyyy-MM-dd HH:mm:ss"
|
||||
// *
|
||||
// * @param dateString
|
||||
// * @return
|
||||
// * @throws ParseException
|
||||
// */
|
||||
// public static Date parseDateTime(String dateString) {
|
||||
// return parse(dateString, DATETIME_FORMAT);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * parse date
|
||||
// *
|
||||
// * @param dateString
|
||||
// * @param pattern
|
||||
// * @return
|
||||
// * @throws ParseException
|
||||
// */
|
||||
// public static Date parse(String dateString, String pattern) {
|
||||
// try {
|
||||
// Date date = getDateFormat(pattern).parse(dateString);
|
||||
// return date;
|
||||
// } catch (Exception e) {
|
||||
// logger.warn("parse date error, dateString = {}, pattern={}; errorMsg = {}", dateString, pattern, e.getMessage());
|
||||
// return null;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//
|
||||
// // ---------------------- add date ----------------------
|
||||
//
|
||||
// public static Date addYears(final Date date, final int amount) {
|
||||
// return add(date, Calendar.YEAR, amount);
|
||||
// }
|
||||
//
|
||||
// public static Date addMonths(final Date date, final int amount) {
|
||||
// return add(date, Calendar.MONTH, amount);
|
||||
// }
|
||||
//
|
||||
// public static Date addDays(final Date date, final int amount) {
|
||||
// return add(date, Calendar.DAY_OF_MONTH, amount);
|
||||
// }
|
||||
//
|
||||
// public static Date addHours(final Date date, final int amount) {
|
||||
// return add(date, Calendar.HOUR_OF_DAY, amount);
|
||||
// }
|
||||
//
|
||||
// public static Date addMinutes(final Date date, final int amount) {
|
||||
// return add(date, Calendar.MINUTE, amount);
|
||||
// }
|
||||
//
|
||||
// private static Date add(final Date date, final int calendarField, final int amount) {
|
||||
// if (date == null) {
|
||||
// return null;
|
||||
// }
|
||||
// final Calendar c = Calendar.getInstance();
|
||||
// c.setTime(date);
|
||||
// c.add(calendarField, amount);
|
||||
// return c.getTime();
|
||||
// }
|
||||
//
|
||||
//}
|
||||
Loading…
Reference in new issue