首页  >  问答  >  正文

java - 求现在的时间减去30天后的时间

我要获取最近30天的东西,endDate就是现在的时间,startDate是现在的时间减去30天,求startDate是怎么做的??????谢谢
String endDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String startDate = "";

PHPzPHPz2714 天前844

全部回复(6)我来回复

  • PHPz

    PHPz2017-04-17 17:10:12

    如果不能使用java8,建议使用Calendar类来做,代码如下,add方法第二个参数传递负值即可。

            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(endDate);
    

    java8版本可以使用下面的方法:

            LocalDateTime now = LocalDateTime.now();
            now = now.minus(30, ChronoUnit.DAYS);
            System.out.println(now.toString());

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-17 17:10:12

    如下,最后格式根据需要转化下即可:

    var startDate = new Date( new Date() - 24*60*60*1000 * 30 );
    console.log('startDate: ' + startDate);
    // startDate: Tue Jan 19 2016 15:42:19 GMT+0800 (CST)

    回复
    0
  • 迷茫

    迷茫2017-04-17 17:10:12

    startDate = nowDate - 30 * 24 * 60 * 60 * 1000

    现在时间减去三十天的毫秒数即可。

    回复
    0
  • 迷茫

    迷茫2017-04-17 17:10:12

    雷雷

    回复
    0
  • 怪我咯

    怪我咯2017-04-17 17:10:12

    雷雷

    回复
    0
  • ringa_lee

    ringa_lee2017-04-17 17:10:12

    雷雷

    回复
    0
  • 取消回复