1. 程式人生 > >JAVA給定日期,計算前幾天後幾天的日期,計算兩個日期之間的天數

JAVA給定日期,計算前幾天後幾天的日期,計算兩個日期之間的天數

/**
 * 指定日期後幾天
 *
 * @param startDay 指定日期
 * @param count    天數
 * @return
 */
String getAfterDay(String startDay, int count) {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    try {
        Date date = sdf.parse(startDay);
        Calendar cl = Calendar.getInstance();
        cl.setTime(date);
cl.add(Calendar.DATE, count); return sdf.format(cl.getTime()); } catch (ParseException e) { e.printStackTrace(); } return ""; } /** * 指定日期前幾天 * * @param startDay 指定日期 * @param count 天數 * @return */ String getBeforeDay(String startDay, int count) { SimpleDateFormat sdf = new
SimpleDateFormat("yyyy-MM-dd"); try { Date date = sdf.parse(startDay); Calendar cl = Calendar.getInstance(); cl.setTime(date); cl.set(Calendar.DATE, cl.get(Calendar.DATE) - count); return sdf.format(cl.getTime()); } catch (ParseException e) { e.printStackTrace();
} return ""; } /** * * @param startDay 開始日期 * @param endDay 截止日期 * @return */ public static int daysBetween(String startDay, String endDay) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date1 = null; Date date2 = null; try { date1 = sdf.parse(startDay); date2 = sdf.parse(endDay); } catch (ParseException e) { e.printStackTrace(); } Calendar cal = Calendar.getInstance(); cal.setTime(date1); cal.set(Calendar.HOUR_OF_DAY, 0); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.SECOND, 0); long time1 = cal.getTimeInMillis(); cal.setTime(date2); cal.set(Calendar.HOUR_OF_DAY, 0); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.SECOND, 0); long time2 = cal.getTimeInMillis(); long between_days = (time2 - time1) / (1000 * 3600 * 24); return Integer.parseInt(String.valueOf(between_days)); }