/**
* 得到几天前的时间
*
* @param d
* @param day
* @return
*/
public static String getDateBefore(Date d, int day) {
SimpleDateFormat dft = new SimpleDateFormat("yyyy-MM-dd");
Calendar now = Calendar.getInstance();
now.setTime(d);
now.set(Calendar.DATE, now.get(Calendar.DATE) - day);
return dft.format(now.getTime());
}
/**
* 描述:获取上个月的最后一天.
*
* @return
*/
public static String getLastMaxMonthDate() {
SimpleDateFormat dft = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH,
calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
return dft.format(calendar.getTime());
}
/**
* 获取上几个月
*
* @return
*/
public static String getLastMonth(Integer n) {
Calendar cal = Calendar.getInstance();
cal.add(cal.MONTH, -n);
SimpleDateFormat dft = new SimpleDateFormat("yyyy-MM");
String lastMonth = dft.format(cal.getTime());
return lastMonth;
}
/**
* 获取上一个月月数
*
* @return
*/
public static Integer lastMonth() {
Calendar cal = Calendar.getInstance();
cal.add(cal.MONTH, -1);
SimpleDateFormat dft = new SimpleDateFormat("M");
Integer lastMonth = Integer.parseInt(dft.format(cal.getTime()));
return lastMonth;
}
//获取前几月的天数
public static Integer getDaysOfMonth(Integer n) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.add(Calendar.MONTH, -n);
return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
}
/**
* 通过时间秒毫秒数判断两个时间的间隔
* @param time1
* @param time2
* @return
*/
public static int differentDaysByMillisecond(String time1,String time2)
{
if(time1.trim().indexOf(" ") >0 || time1.indexOf(":")>0){
time1 = time1.substring(0,time1.indexOf(" "));
}
if(time2.trim().indexOf(" ") >0 || time2.indexOf(":")>0){
time2 = time2.substring(0,time2.indexOf(" "));
}
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
try{
Date date1 = sf.parse(time1+" 00:00:00");
Date date2 = sf.parse(time2+" 00:00:00");
int days = Math.abs((int) (( date1.getTime()-date2.getTime()) /
(1000*3600*24)));
return days;
}catch (Exception e){
System.out.println(e.getMessage());
return 0;
}
}