JAVA给定日期,计算前几天后几天的日期,计算两个日期之间的天数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zqd1984309864/article/details/79694247
/**
 * 指定日期后几天
 *
 * @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));
}

猜你喜欢

转载自blog.csdn.net/zqd1984309864/article/details/79694247