/** *获取某月最初一天 *
- */ public static Date getMonthAnyStartDay(Date date,int start) throws ParseException{ SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd"); Calendar caleFirst = Calendar.getInstance(TimeZone.getTimeZone("Japan") ,Locale.JAPAN); caleFirst.setTime(date); caleFirst.add(Calendar.MONTH, start); caleFirst.set(Calendar.DAY_OF_MONTH,1); Date firstDay = format.parse(format.format(caleFirst.getTime())); return firstDay; }
/**
*获取某月最后一天
*
* */
public static Date getMonthAnyEndDay(Date date,int end) throws ParseException{
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
Calendar caleLast = Calendar.getInstance(TimeZone.getTimeZone("Japan") ,Locale.JAPAN);
caleLast.setTime(date);
caleLast.add(Calendar.MONTH, end);
caleLast.set(Calendar.DAY_OF_MONTH, caleLast.getActualMaximum(Calendar.DAY_OF_MONTH));
Date lastDay = format.parse(format.format(caleLast.getTime()));
return lastDay;
}
/**
复制代码
*获取某月份的前几月或者后几月 *
- */ public static Date getMonthStart(Date date,int month) throws ParseException{ SimpleDateFormat format = new SimpleDateFormat("yyyy/MM"); Calendar caleFirst = Calendar.getInstance(TimeZone.getTimeZone("Japan") ,Locale.JAPAN); caleFirst.setTime(date); caleFirst.add(Calendar.MONTH, month); Date m3 = caleFirst.getTime(); return m3; }
/** *
- 计算两个日期间相差天数
- */ public static long dayDiff(String startDate, String endDate,String format) { SimpleDateFormat formater = new SimpleDateFormat(format); long diff = 0l; try { long d1 = formater.parse(startDate).getTime(); long d2 = formater.parse(endDate).getTime(); diff = (d1 - d2) / (1000 * 60 * 60 * 24); } catch (ParseException e) { e.printStackTrace(); } return diff; }
/** *获取某天的前几天或者后几天 *
- */ public static Date addDate(Date date, int days) { Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("Japan") ,Locale.JAPAN); cal.setTime(date); cal.add(Calendar.DATE, days); return cal.getTime(); }