比如求比当前时间早10分钟,或者20分钟的 时间。

解决方案 »

  1.   

    还是Joda-Timepublic class JodaTimeTest {
    public static void main(String[] args) {
    DateTime time = new DateTime();//默认当前时间
    System.out.println(time.minusMinutes(10).toString("yyyy-MM-dd HH:mm:ss"));//当前时间减去10分钟.并且可以格式化输出
    System.out.println(time.minusMinutes(20).toString("yyyy-MM-dd HH:mm:ss"));//当前时间减去20分钟.并且可以格式化输出
    }
    }
      

  2.   

    Date date = new Date();
    Calendar c = Calendar.getInstance();
    c.setTime(date);
    c.add(Calendar.MINUTE, -10);
    date = c.getTime();
    System.out.println(date);
      

  3.   

    因为Calendar 的时区.求时间差,或之前多少天,时,分,秒等是什么时候.无论如何都先转换成绝对时间(unxi时间戳)才能运算.其它所有操作都是在外面封装了几层而已经.
    其本质就是绝对时间的算术运算,所以从日期->绝对时间->日期才是最可靠,最稳定,最高效的.其它每多一次new就在浪费一步资源.