public class DateUtil {
private static final Logger logger = LoggerFactory.getLogger(DateUtil.class);
private static final SimpleDateFormat datetimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
private static final SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
/**
* 格式化日期与时间
*/
public static String formatDatetime(Date datetime) {
return datetimeFormat.format(datetime);
}
/**
* 格式化日期
*/
public static String formatDate(Date date) {
return dateFormat.format(date);
}
/**
* 格式化时间
*/
public static String formatTime(Date time) {
return timeFormat.format(time);
}
/**
* 解析日期与时间
*/
public static Date parseDatetime(String str) {
Date date = null;
try {
date = datetimeFormat.parse(str);
} catch (ParseException e) {
logger.error("解析日期字符串出错!格式:yyyy-MM-dd HH:mm:ss", e);
}
return date;
}
/**
* 解析日期
*/
public static Date parseDate(String str) {
Date date = null;
try {
date = dateFormat.parse(str);
} catch (ParseException e) {
logger.error("解析日期字符串出错!格式:yyyy-MM-dd", e);
}
return date;
}
/**
* 解析时间
*/
public static Date parseTime(String str) {
Date date = null;
try {
date = timeFormat.parse(str);
} catch (ParseException e) {
logger.error("解析日期字符串出错!格式:HH:mm:ss", e);
}
return date;
}
/**
* 获取N天后的时间
*/
public static Date getNextDay(Date date, int n) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, n);
return cal.getTime();
}
}