日期格式工具类基础版002
对常用的日期转换,提供工具类,并通过深度剖析,进行工具类升级
在日常开发中,我们经常需要对日期时间与字符串之间的转换,现将通用方法进行工具类提取和剖析。
上一篇:日期格式工具001——简单的日期和字符串之间的转换
下一篇:日期格式工具003——日期加减工具方式(升级)
针对简单日期工具转换进行升级,实现简单的时间加减。
/**
* 偏移时间
* @param date Date 初始时间
* @param seconds long 偏移秒数
* @return Date
*/
public static Date offsetSecond(Date date, int seconds) {
long time = date.getTime();
time = time + (seconds * 1000);
return new Date(time);
}
/**
* 偏移时间
* @param date Date 初始时间
* @param minutes long 偏移分钟数
* @return Date
*/
public static Date offsetMinute(Date date, int minutes) {
return offsetSecond(date, 60 * minutes);
}
/**
* 偏移时间
* @param date Date 初始时间
* @param hours long 偏移小时数
* @return Date
*/
public static Date offsetHour(Date date, int hours) {
return offsetMinute(date, 60 * hours);
}
/**
* 偏移时间
* @param date Date 初始时间
* @param days long 偏移天数
* @return Date
*/
public static Date offsetDay(Date date, int days) {
return offsetHour(date, 24 * days);
}
工具类
/**
* 1、日期格式转换
* 2、设置日期偏移,时间的加减法
*/
public class DateHelper2 {
/**
* 年月格式
* yyyyMM
*/
public static String YM_FORMAT = "yyyyMM";
/**
* 年月日格式
* yyyyMMdd
*/
public static String YMD_FORMAT = "yyyyMMdd";
/**
* 年月日格式
* yyyy-MM-dd
*/
public static String DATE_FORMAT = "yyyy-MM-dd";
/**
* 年月时间格式
* yyyyMMddHHmmss
*/
public static String PLAIN_DATE_FORMAT = "yyyyMMddHHmmss";
/**
* 年月日时间格式
* yyyy-MM-dd HH:mm:ss
*/
public static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
/**
* 将Date转换成字符串
* @param date Date 要转换的Date实例
* @param format String 日期格式字符串
* @return String
*/
public static String dateString(Date date, String format) {
if (date == null) {
date = new Date();
}
SimpleDateFormat sdf = null;
try {
sdf = new SimpleDateFormat(format);
} catch (Exception e) {
sdf = new SimpleDateFormat(DEFAULT_DATE_FORMAT);
}
return sdf.format(date);
}
/**
* 将字符串转换成Date
* @param dateStr
* @param format
* @return
*/
public static Date stringDate(String dateStr, String format) throws ParseException {
Date date = null;
SimpleDateFormat sdf = null;
try {
sdf = new SimpleDateFormat(format);
date = sdf.parse(dateStr);
} catch (Exception e) {
sdf = new SimpleDateFormat(DEFAULT_DATE_FORMAT);
date = sdf.parse(dateStr);
}
return date;
}
/**
* 将Date转换成字符串
* @param date Date 要转换的Date实例
* @return String
*/
public static String dateString(Date date){
return dateString(date,DEFAULT_DATE_FORMAT);
}
/**
* 将字符串转换成Date
* @param dateStr
* @return
*/
public static Date stringDate(String dateStr) throws ParseException {
return stringDate(dateStr,DEFAULT_DATE_FORMAT);
}
/**
* 偏移时间
* @param date Date 初始时间
* @param seconds long 偏移秒数
* @return Date
*/
public static Date offsetSecond(Date date, int seconds) {
long time = date.getTime();
time = time + (seconds * 1000);
return new Date(time);
}
/**
* 偏移时间
* @param date Date 初始时间
* @param minutes long 偏移分钟数
* @return Date
*/
public static Date offsetMinute(Date date, int minutes) {
return offsetSecond(date, 60 * minutes);
}
/**
* 偏移时间
* @param date Date 初始时间
* @param hours long 偏移小时数
* @return Date
*/
public static Date offsetHour(Date date, int hours) {
return offsetMinute(date, 60 * hours);
}
/**
* 偏移时间
* @param date Date 初始时间
* @param days long 偏移天数
* @return Date
*/
public static Date offsetDay(Date date, int days) {
return offsetHour(date, 24 * days);
}
}