如何比较两个时间,当现在时间与指定时间相差X时,执行A,当现在时间与指定时间相差Y时,执行B,有没有什么比较天数的方法啊?

解决方案 »

  1.   

    Date.getTime()获得一个long,再计算long/24L*3600L 就= 几天了.
      

  2.   

    Date currentDate = new Date();
    long currentTime = currentDate.getTime();
    Date fixedDate //指定的时间
    long fixedTime = fixedDate.getTime();
    int differeceDay = (currentTime - fixedTime) / (60 * 60 * 24);
    if( differenceDay == x )
        //then execute x.....
    else if(differenceDay == y)
       //the execute y......
      

  3.   

    用DateFormat转一下你的时间字符串即可DateFormat sf = new SimpleDateFormat("yyyy年MM月d日")
    Date d = sf.parse("2006年10月1日");
      

  4.   

    还是不对啊
    Date d = null;
    DateFormat sf = new SimpleDateFormat("yyyy年MM月d日");
    try
    {
    d = sf.parse("2006年7月5日");
    }
    catch (ParseException e)
    {
    e.printStackTrace();
    }
    Date currentDate = new Date();
    System.out.println(d);
    System.out.println(currentDate);
    long currentTime = currentDate.getTime();
    Date fixedDate = d;
    long fixedTime = fixedDate.getTime();
    int differeceDay = (int) (Math.abs(fixedTime - currentTime) / (60 * 60 * 24));
    System.out.println(differeceDay);这样运行出来是
    Wed Jul 05 00:00:00 CST 2006
    Tue Jul 04 16:45:31 CST 2006
    301这是什么原因啊??