把所有的操作都记LOG,这样出问题才好查

解决方案 »

  1.   

    如果正好是发了一半的话,就怀疑你的在循环控制或者条件判断出有问题。比如rs.next()等等。
      

  2.   

    if(nSubDay%31==0 && nSubDay!=0 && nSubDay<93)
    条件是不是有问题?你的条件是既要是31的倍数,又要不等于0,
    还必须小于93,那么,就只能是31,62,才能够发了。
      

  3.   

    不过根据你的条件(nSubDay%31==0 && nSubDay!=0 && nSubDay<93),昨天注册的话,都不应该发呀,怎么会发一半的人数呢?
      

  4.   

    to 可乐猫
    是昨天有1600个用户满31天了,
    可我却只发632个.
    少了1000个,这多大差别呀.
    老板知道非开我不可.to liaomingxue
    因为天数不一样,我只好按31最多的算了,因为如果同一月发的话,是扣不上费的.如果我发的时间不一样,比如昨天是9:00发的,今天换成 10:00了,会不会有问题,我老迷不过来.
    总觉的这块有些问题,
      

  5.   

    public long  getDays(java.util.Date sd,java.util.Date ed){
       return (ed.getTime() - sd.getTime()) / (3600*24*1000);
    }这个函数和你理解的天数不一样  即使是昨天  也能返回0的  比如你9点运行  我昨天下午注的册  用你这个函数返回的是0不是1
    当然你的31天也有同样的问题
      

  6.   

    问题处在这里:
    1. if(nSubDay%31==0 && nSubDay!=0 && nSubDay<93)
    2. {
    3.  // 下发过程略
    4.  nCount++;
    5.  System.out.println("发送给第"+nCount+"用户成功");
    6.}在1处,你能肯定每月是31天吗?2月是28天,而闰年是29天,
    1、3、5、7、8、10、12是31天,
    2、4、6、9、11是30天。
      

  7.   

    改成:if(Math.abs(nSubDay-31)<1 && nSubDay<93)
    这样,只要你每天只运行一次,就可以保证不会重发,也不会漏掉。
    并且不会给用户在31,62天时都发。当然如果你愿意每满一个月都
    要发的话,再加上:Math.abs(nSubDay-62)<1
    或者(nSubDay%31==0 || nSubDay%31==1)&&nSubDay!=0&&nSubDay<93
      

  8.   

    public long getDays(java.util.Date sd,java.util.Date ed){
       java.util.Calendar calendar1 = java.util.Calendar.getInstance();
       java.util.Calendar calendar2 = java.util.Calendar.getInstance();
       calendar1.setTime(ed);
       calendar2.setTime(sd);   int year1 = calendar1.get(java.util.Calendar.YEAR);
       int year2 = calendar2.get(java.util.Calendar.YEAR);
       int month1 = calendar1.get(java.util.Calendar.MONTH);
       int month2 = calendar2.get(java.util.Calendar.MONTH);
       int data1 = calendar1.get(java.util.Calendar.DATE);
       int data2 = calendar2.get(java.util.Calendar.DATE);   return (year1 - year2) * 365 + (month1 - month2) * 31 + (data1 - data2);
      }
    用我这个方法吧
      

  9.   

    wqs_qiu_shi(美丽心情)  
    楼主呀  你到底是要判断注册时间还是最后聊天时间,如果有个用户每天在9:00以后聊天,根据你的程序他永远也收不到你的信。