对MM-dd格式的日期进行操作,加几天和减几天的操作
/**
* 这个方法addDays接受一个日期字符串和一个整数N,
* 可以是正数也可以是负数。如果N为正数,
* 则表示在日期后加上N天;如果N为负数,则表示在日期前减去N天
* @param dateStr
* @param days
* @return
*/
public String addDays(String dateStr, int days) {
//特殊月份二月份的操作
if(dateStr.equals("02-29")&&days>0){
days--;
}
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd");
try {
Calendar calendar = Calendar.getInstance();
calendar.setTime(sdf.parse(dateStr));
calendar.add(Calendar.DAY_OF_MONTH, days);
return sdf.format(calendar.getTime());
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
对格式为HH:mm的时间进行分钟加减操作
/**
* 这个方法addMins接受一个time字符串和一个整数N,
* 可以是正数也可以是负数。如果N为正数,
* 则表示在time后加上N分钟;如果N为负数,则表示在time前减去N分钟
* @param timeStr
* @param mins
* @return
*/
public String addMins(String timeStr, int mins) {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
try {
Calendar calendar = Calendar.getInstance();
calendar.setTime(sdf.parse(timeStr));
calendar.add(Calendar.MINUTE, mins);
return sdf.format(calendar.getTime());
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
比较日期大小和时间大小的方法
//比较日期MM-dd
/**
*
* @param A
* @param B
* @return A>B >0 A<B <0 A =B 0
* @throws ParseException
*/
public int compareDate(String A,String B) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd");
Date dateA = sdf.parse(A);
Date dateB = sdf.parse(B);
int result = dateA.compareTo(dateB);
return result;
}
比较时间 HH:mm
/**
*
* @param A
* @param B
* @return A>B >0 A<B <0 A =B 0
* @throws ParseException
*/
public int compareTime(String A,String B) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
Date dateA = sdf.parse(A);
Date dateB = sdf.parse(B);
int result = dateA.compareTo(dateB);
return result;
}