刚学java,在写登陆界面时候想写个密码时间比较,比较的时间有“密码设定日”和“当前系统时间”,密码设定日是存在数据库用户账户信息里面的,现在想实现密码设定日加3个月小于当前系统时间。请大侠们帮帮我。谢谢。

解决方案 »

  1.   

    我不是很清楚你最后说的那句话什么意思"现在想实现密码设定日加3个月小于当前系统时间"??小于就是小于?大于就是大于?什么叫  现在想实现密码设定日加3个月小于当前系统时间
    下面有段我写的代码。我是获取当前时间减去三个月。然后跟密码设定时间比较,原因是:第一行代码可以自由的设置时间格式
    // 密码设定时间
    java.util.Date passwordDate = new java.util.Date();
    // 系统当前时间
    Calendar calendar = Calendar.getInstance();
    calendar.add(Calendar.MONTH, -3);// 当前时间减去 3个月.
    java.util.Date date = calendar.getTime();// 减去3个月后的时间
    if (date.before(passwordDate)) {
    System.out.println("当前时间减去3各月后小于密码设置时间");
    } else {
    System.out.println("当前时间减去3各月后大于密码设置时间");
    }
      

  2.   

    什么意思~~用Calendar类算出有效期的最大时间 和系统时间比较不就完了
      

  3.   

    我现在的想法是取得数据库中用户密码设定日的毫秒数,与当前时间的毫秒数比较。用年月日做的话判断的类型就多了。
    long currentTime = System.currentTimeMillis();这条语句用来取当前系统时间的毫秒数,那么取数据库里的日期毫秒应该用什么来做呢?
      

  4.   

    把当前时间减去3个月
    Calendar 类知道怎么判断月份天数
    再转成毫秒数与库里的比较下就可以了