Steve_Chen_LI
2015-08-03 09:04
采纳率: 56.3%
浏览 1.7k
已采纳

java 如何判断当前日期与用户登录日期是否相同(类似会员功能)

当前用户登录日期为2015-08-03 17:10,
假如该用户(会员)有效日期为,7天。
到了 2015-08-10 17:10 ,这段时间该用户就自动注销,或者删除。
(注销和删除这部分不用处理,主要是如何判断时间)
前端是用EXTJS写的。

    //最后一次登录时间
    private Date lastLoginTime;

SimpleDateFormat sdf =   new SimpleDateFormat( "03/08/2015 00:00:00  " );
                String outlogin = sdf.format(new Date());


if(................){
                // 用户过期
                result.put("result", false);
                result.put("message", "用户过期!");
            } 
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 光脚的石头 2015-08-03 09:18
    已采纳

    你每次登录的时候存储的有登录时间吗,在最后一次登录的时候从表中取出时间值与当前时间对比就可以了,试试这样的代码(伪代码)
    long nowtime=new Date().getTime();
    long lasttime=new SimpleDateFormate("yyyy-MM-dd").formate(数据库的时间值);
    long ts1=lasttime-nowtime;
    System.out.println("相距毫秒数:"+ts1);
    long days=ts1/(1000*60*60*7);//距离7天还有多少天
    System.out.println("相距的天数:"+days);

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • danielinbiti 2015-08-03 09:18
     public static void main(String[] args){
            SimpleDateFormat sdf =   new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
    
            try {
                Date lastLoginTime = sdf.parse("29/07/2015 00:00:00");
                GregorianCalendar gc=new GregorianCalendar(); 
                gc.setTime(lastLoginTime); 
                gc.add(5,10); //加10天
                if(gc.getTime().getTime()<(new Date().getTime())){
                    System.out.println("超期");
                }else{
                    System.out.println("没有超期");
                }
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
    
        }
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题