/**
* @param date yyyy-MM-dd【2015-08-25】
* @param n 【n为正整数==加n天】【n=0为不变】【n为负整数===减n天】
* @return
* @throws ParseException
*/
public static String addDateForString(String date, int n) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dt = sdf.parse(date);
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.DAY_OF_YEAR, n);// 日期加10天
Date dt1 = rightNow.getTime();
String reStr = sdf.format(dt1);
return reStr;
}
/**
* 日期调整
*
* @param dt 时间类型的
* @param n 【n为正整数==加n天】【n=0为不变】【n为负整数===减n天】
* @return
*/
public static Date addDateForDate(Date dt, int n) {
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.DAY_OF_YEAR, n);// 日期加1天
Date newDate = rightNow.getTime();
return newDate;
}
/**
* 返回 日期格式化为2015-08-21
*
* @param date
* @return
*/
public static String dateFormat(Date date) {
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
return f.format(date);
}
/**
* 返回 日期格式化为时间格式:16:21:32
*
* @param date
* @return
*/
public static String timeFormat(Date date) {
SimpleDateFormat f = new SimpleDateFormat("HH:mm:ss");
return f.format(date);
}
/**
* 计算几个月前或者几个月后(自然月)
* <p>
* getDate(-3):三个月前.getDate(0):当前时间.getDate(2):两个月后.
* </p>
*
* @param month n个月
*/
public static String getDate(int month) {
Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, month);// 自然月相加
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
return f.format(c.getTime());//
}
/**
* 计算几个小时前或者几个小时后
* <p>
* getDate(-3):三个小时前.getDate(0):当前时间.getDate(2):两个小时后.
* </p>
*
* @param hour n个小时
*/
public static Date getHour(int hour) {
Calendar c = Calendar.getInstance();
c.add(Calendar.HOUR, hour);
return c.getTime();
}
/**
* 计算两个时间只差是否大于24小时,大于返回true,小于等于false
*
* @param oldTime
* @param newTime
* @return
* @throws ParseException
*/
public static boolean checkTimeOfSub(String oldTime, String newTime) throws ParseException {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d1 = df.parse(oldTime);
Date d2 = df.parse(newTime);
long diff = d2.getTime() - d1.getTime();
long ss = diff / (1000);
if (ss <= 24) {
return false;
}
return true;
}