实用日期工具包
/**
* 获取指定格式的时间 (默认:yyyy-MM-dd HH:mm:ss)
*/
public static String getStrToDate(Date date,String pattern) {
if (pattern == null || "".equals(pattern)) {
pattern = "yyyy-MM-dd HH:mm:ss";
}
return DateFormatUtils.format(date,pattern);
}
/**
* 字符串日期转Date (默认:yyyy-MM-dd HH:mm:ss)
*/
public static Date getDateToStr(String dateString,String pattern) throws ParseException {
if (pattern == null || "".equals(pattern)) {
pattern = "yyyy-MM-dd HH:mm:ss";
}
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
Date date = sdf.parse(dateString);
return date;
}
/**
* 指定时间 相加或相减 几月
*/
public static Date getDateByMonths(Date date,String pattern,Integer month){
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
Calendar c = Calendar.getInstance();
c.setTime(date);
c.add(Calendar.MONTH, month);
try {
return getStrToDate(sdf.format(c.getTime()),pattern);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
/**
* 日期比较 (如果s>=e 返回true 否则返回false)
*/
public static boolean compareDate(String s, String e) {
Date start = getDateToStr(s, "yyyy-MM-dd");
Date end= getDateToStr(s, "yyyy-MM-dd");
if (start == null || end == null) {
return false;
}
return start .getTime() >= end.getTime();
}
/**
* 把日期转换为Timestamp
*/
public static Timestamp format(Date date) {
return new Timestamp(date.getTime());
}
/**
* 校验日期是否合法
*/
public static boolean isValidDate(String s, String pattern) {
return parse(s, pattern) != null;
}
/**
* 获取两个时间内相差的年限
* @return
*/
public static int getDiffYear(String startTime, String endTime) {
DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
try {
int years = (int) (((fmt.parse(endTime).getTime() - fmt.parse(
startTime).getTime()) / (1000 * 60 * 60 * 24)) / 36