学习java第一阶段:java 时间

287 阅读1分钟

/** *获取某月最初一天 *

  • */ 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(); }