mport java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
/**
* @author ray
*/
public class DateCount {
/** 时 日 月 年 加减计算.
* @param nowDate JavaDate
* @param type minute hour day month year
* @param count count
* @return Date
*/
public static Date getDate(Date nowDate, String type, int count) {
Date date = nowDate;
GregorianCalendar grc = new GregorianCalendar();
grc.setTime(date);
if (type.equals("day")) {
grc.add(GregorianCalendar.DATE, count);
} else if (type.equals("month")) {
grc.add(GregorianCalendar.MONTH, count);
} else if (type.equals("year")) {
grc.add(GregorianCalendar.YEAR, count);
} else if (type.equals("hour")) {
grc.add(GregorianCalendar.HOUR, count);
} else if (type.equals("minute")) {
grc.add(GregorianCalendar.MINUTE, count);
}
Date result = grc.getTime();
return result;
}
/**
* 取得两时间差 type -- day 天 hour 小时 minute分钟 second 秒 默认是毫秒
*
* @return date1-date2
*/
public static long getTime(Date date1, Date date2, String type) {
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(date1);
c2.setTime(date2);
long mul = c1.getTimeInMillis() - c2.getTimeInMillis();
if ("second".equals(type)) {
mul = mul / 1000;
} else if ("minute".equals(type)) {
mul = mul / (1000 * 60);
} else if ("hour".equals(type)) {
mul = mul / (1000 * 60 * 60);
} else if ("day".equals(type)) {
mul = mul / (1000 * 60 * 60 * 24);
}
return mul;
}
}