Java语言日期的截取和加减运算

为了统计博客访问量而设计的一种按照时间,IP地址和session生成页面访问量的关键代码,如有需求可联系本人QQ:1032089468。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
          String vdate = sdf.format(new Date());
          request.setAttribute("vdate", vdate);
          String sessionId = request.getSession().getId();
          request.setAttribute("sessionId", sessionId);
          String vip = request.getRemoteAddr();
          //out.print(vip);
          request.setAttribute("vip", vip);
          int wnid = Integer.parseInt(request.getParameter("wnid"));
          VisitedDao visiteddao = new VisitedDao();       
          boolean flag = visiteddao.querySessionIsExists(sessionId,Integer.parseInt(request.getParameter("wnid"))); 
          boolean flag1 = visiteddao.queryIpIsExists(vip,Integer.parseInt(request.getParameter("wnid")));
          //-----------当前时间---------------------------------------------------------       
         
          String vyear = vdate.substring(0,4);
          //request.setAttribute("vyear", vyear);
         
          String vmounth = vdate.substring(5, 7);
          // request.setAttribute("vmounth", vmounth);
         
          String vdd = vdate.substring(8,10);
          //request.setAttribute("vdd", vdd);
          
          String vhours = vdate.substring(11,13);
          // request.setAttribute("vhours", vhours);
         
          String vminute = vdate.substring(14, 16);
          //request.setAttribute("vminute", vminute);
         
          String vsecond = vdate.substring(17,19);
          // request.setAttribute("vsecond", vsecond);
          String vatestring = vyear+vmounth+vdd+vhours+vminute+vsecond;
          long vdateint = Long.parseLong((vatestring.trim()));          
          //request.setAttribute("vdateint", vdateint);
          //int vtime = Integer.parseInt(vyear)+Integer.parseInt(vmounth)+Integer.parseInt(vdd)+Integer.parseInt(vhours)+Integer.parseInt(vminute)+Integer.parseInt(vsecond);
          //---------------------------------------------------------------------------------------------------
         
         
          // long sub = vdateint-vdatesqlint;
          if(flag==false)//sessionId不存在
          {
              if(flag1==true)//ip地址存在
              {
                  //-----------最后一次访问时间---------------------------------------------------------
                  String vdatesql = visiteddao.queryVdateByIp(vip,Integer.parseInt(request.getParameter("wnid")));
                 if(vdatesql!=null || !"".equals(vdatesql))
                 {
                       String year = vdatesql.substring(0,4);
                       // request.setAttribute("year", year);
         
                       String mounth = vdatesql.substring(5, 7);
                      // request.setAttribute("mounth", mounth);
         
                       String dd = vdatesql.substring(8,10);
                       // request.setAttribute("dd", dd);
         
                      String hours = vdatesql.substring(11,13);
                     // request.setAttribute("hours", hours);
         
                     String minute = vdatesql.substring(14, 16);
                    //request.setAttribute("minute", minute);
         
                    String second = vdatesql.substring(17,19);
                   //request.setAttribute("second", second);
         
                   //int time = Integer.parseInt(year)+Integer.parseInt(mounth)+Integer.parseInt(dd)+Integer.parseInt(hours)+Integer.parseInt(minute)+Integer.parseInt(second);
                   //---------------------------------------------------------------------------------------------------
                   String vdatesqlstring=year+mounth+dd+hours+minute+second;
         
                   long vdatesqlint = Long.parseLong((vdatesqlstring.trim()));
                   //request.setAttribute("vdatesqlint", vdatesqlint);
             
                  if(vdateint-vdatesqlint>1000000)//超过一天没有产生访问记录
                  {
                      request.setAttribute("notice", "改IP超过24位登陆");
                      visiteddao.insertVisitedNum(wnid, vdate, vip, sessionId); 
                  }
                  else
                  {
                     
                      if(visiteddao.queryCountByIP(vip, vdate)>=3)
                      {
                          request.setAttribute("notice", "该IP地址今日频繁登陆此网站,面临暴露");
                      }
                      else
                      {
                          request.setAttribute("notice", "改IP在连续24小时内重复登陆");
                      }
                  }
                  }      
              }
              else //ip地址不存在
              {
                  visiteddao.insertVisitedNum(wnid, vdate, vip, sessionId);
              }
          }
          else  //sessionID存在
          {
             
          }



猜你喜欢

转载自blog.csdn.net/qq_29777207/article/details/70224729