java里怎么比较mysql存的时间和当前时间,大于当前时间7天,有详细代码吗

如题所述

sql中直接通过字符串比较就可以了
比如: xxx_time >= '2019-04-15 23:59:59'
如果是java的时间比较的方式就比较多了。
转成date类型比较是比较常见的方式,或long类型的时间戳方式,或这统一格式的字符串方式、追问

但是我这个时间需要的是当前时间的前7天,我不知道怎么转换这个时间

追答public static void main(String[] args) {

    Date now = new Date();
    System.out.println("当前时间:" + now);
    System.out.println("当前时间戳:" + now.getTime());

    // 使用Calendar
    Calendar calendar = Calendar.getInstance();
    calendar.add(Calendar.DAY_OF_MONTH, -7);
    Date oldDate = calendar.getTime();
    System.out.println("7天前:" + oldDate);
    long oldMillis = calendar.getTimeInMillis();
    System.out.println("7天前时间戳:" + oldMillis);


    // 使用时间戳减毫秒数
    long oldMillis2 = now.getTime() - 7 * 24 * 60 * 60 * 1000L;
    System.out.println("7天前时间戳:" + oldMillis2);

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-04-08
可以把两个时间转为long型的时间格式,然后加上7*86400比较即可追问

具体是怎么转的呀,还

追答

时间戳啊啊啊,不知道这可不可以写代码,有次写代码我就被封号了

追问

啊,能不能私聊呢。。。

追答

你首先System.currentTimeMillis()获得当前时间戳,然后加上7*86400,再把这个long格式的数字转为yyyy-MM-dd HH:mm:ss格式,再和数据库时间比较

追问

怎么把这long转换成那样呀

追答

直接调用这个方法,把long传过来,返回一个时间格式,你把这个时间和数据库时间比较,你对了,大于当前时间七天是那个long-7*86400

追问

好,我试一下,应该是减去7天时间吧

追答

是加,我想错了

追问

我这个数据库datetime的属性,做不了和我搞出来这个string的当前时间比较吗

追答

可以的,直接用sql语句大于小于判断,实在不行私聊我

相似回答