计算时间的时候碰到的问题:
Date d = new Date(); long currtime = d.getTime(); //获取当前时间 long starttime = currtime - 30* 86400000; //当前时间减掉一个月的毫秒数搜索 System.out.println(currtime + "------"+starttime);
得到的结果竟然是currtime 要小于starttime,为什么会越减越大呢?
//因为30* 86400000 超出int的取值范围了, long a= (long)30*(long)86400000;
总结:在进行long型数据计算的时候需要在数据前加上(long),否则默认为int类型计算,而一旦超出int取值范围那么就会出现上述问题。应避免上述问题。