现在有两个TimeStamp格式的时间,一个是当前时间,另外一个是客户上次订单时间,如何进行比较? //获取系统当前的时间-- time
    Timestamp time = new Timestamp(System.currentTimeMillis()); //获取客户上次的订单时间---orderTime
  CustomerOrder cusOrder = this.df.getCustomerOrderDao().get(customerId);
  Timestamp orderTime = cusOrder.getTime();问题: 如何判断跟当前时间对比,客户上次的订单时间是否已经超过3个月?如何做比较?  

解决方案 »

  1.   

    取的long类型毫秒数,相减然后计算天数。
      

  2.   

    用两个Timestamp的getTime()分别返回自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数,相减后,得到的毫秒数/1000/60/60/24得到天数,和三个月的天数进行比较,因为每个月的天数不一定  会有一定的误差的,如果不要求精确地计算的话,可以试试用这个
      

  3.   

    另外有种方式    Calendar calendar = Calendar.getInstance();
        //把当前时间减去3个月,如果为负数则会把年份往前推,比如2010年1月-3会变成2009年10月
        calendar.add(Calendar.MONTH,-3);
        Timestamp time = new Timestamp(calendar.getTimeInMillis());
        //获取客户上次的订单时间---orderTime
        CustomerOrder cusOrder = this.df.getCustomerOrderDao().get(customerId);
        Timestamp orderTime = cusOrder.getTime();
        //判断是否过期,true就是超过3个月
        if (time.after(orderTime)){
        };
      

  4.   

    非常感谢 justleanr 的帮助,问题解决的