java - 求现在的时间减去30天后的时间
PHPz
PHPz 2017-04-17 17:08:12
[Java讨论组]

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

PHPz
PHPz

学习是最好的投资!

全部回复(6)
PHPz

如果不能使用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());
巴扎黑

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

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)
迷茫

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

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

迷茫
Date endDate = new Date();
Date startDate = new Date(endDate.getTime() - 30 * 24 * 60 * 60 * 1000);
怪我咯
public class Test {
    public static void main(String[] args) {
        Date endDate = new Date();
        Date startDate = getDateBefore(new Date(),30);
    }

    private static Date getDateBefore(Date d, int day){
        Calendar now =Calendar.getInstance();
        now.setTime(d);
        now.set(Calendar.DATE,now.get(Calendar.DATE)-day);
        return now.getTime();
    }
}
ringa_lee
import org.apache.commons.lang3.time.DateUtils;

Date now = new Date();
Date startDate = DateUtils.addDays(now, -30);
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号