java 获取指定天数之前的日期

  • Post author:
  • Post category:java


java 获取指定天数之前的日期

        //方法一
        long time = (long)30*86400000;
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        String format1 = simpleDateFormat.format(new Date(System.currentTimeMillis() - time));
        System.out.println("方法一:获取到三十天前的日期为:"+java.sql.Date.valueOf(format1));
 
        //方法二
        SimpleDateFormat sdf  = new SimpleDateFormat("yyyy-MM-dd");
        String maxDateStr = "2018-01-01";
        String minDateStr = "";
        Calendar calc =Calendar.getInstance();
        try {
            calc.setTime(sdf.parse(maxDateStr));
            calc.add(calc.DATE, -30);
            Date minDate = calc.getTime();
            minDateStr = sdf.format(minDate);
            System.out.println("方法二获取指定日期2018-01-01之前的30天的日期为:"+minDateStr);
        } catch (ParseException e1) {
            e1.printStackTrace();
        }
 
        //方法三
        Calendar now = Calendar.getInstance();
        now.add(Calendar.DAY_OF_MONTH, -30);
        String endDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(now.getTime());
        System.out.println("方法三:获取当前时间前30天的日期,时分秒:"+endDate);
 
        //方法四
        LocalDateTime now1 = LocalDateTime.now();
        now1 = now1.minus(30, ChronoUnit.DAYS);
        System.out.println("方法四:java8新特性获取当前时间30天的日期"+now1.toString());
 
        //方法五
        Date now2 = new Date();
        Date startDate = DateUtils.addDays(now2, -30);
        System.out.println("方法五:lang3中的工具类DateUtils获取当前日期30天的日期为:"+startDate);
        //方法六
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Calendar c = Calendar.getInstance();
 
        //过去七天
        c.setTime(new Date());
        c.add(Calendar.DATE, - 7);
        Date d = c.getTime();
        String day = format.format(d);
        System.out.println("方法六,当前时间前七天:"+day);
 
        //过去一月
        c.setTime(new Date());
        c.add(Calendar.MONTH, -1);
        Date m = c.getTime();
        String mon = format.format(m);
        System.out.println("方法六,当前时间过去一个月:"+mon);
 
        //过去三个月
        c.setTime(new Date());
        c.add(Calendar.MONTH, -3);
        Date m3 = c.getTime();
        String mon3 = format.format(m3);
        System.out.println("方法六,当前时间过去三个月:"+mon3);
 
        //过去一年
        c.setTime(new Date());
        c.add(Calendar.YEAR, -1);
        Date y = c.getTime();
        String year = format.format(y);
        System.out.println("方法六,当前时间,过去一年:"+year);

原文链接:https://blog.csdn.net/YoungLee16/article/details/90706014