`

时间越界的错误

阅读更多
public void stat(Date startDate,Date endDate,String shopNick) throws Exception{
long days = DateUtil.diffdates(startDate, endDate);
for(int j=0;j<=days;j++){
Date curDate = new Date(startDate.getTime() + j*(24*3600*1000));
logger.info("[订正数据]订正"+shopNick+",日期:"+DateUtil.formatTime(curDate, DateUtil.DEFAULT_DATE_FORMAT));
saleAnalyzeDao.stat(DateUtil.parasDateYMD(curDate), shopNick);
}
}


测试出来的时间就是不正确.中间的日期都乱了.
因为j*(24*3600*1000)越界了.
导致了错误.

这段代码修改为
j*(24*3600*1000L)
或者
TimerUnit.DATE.toMillis(j)
或者调用这个日期增加
public static java.util.Date addDate(java.util.Date date, int day) {
if (null == date) {
return null;
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) + day);
return calendar.getTime();
}
分享到:
评论

相关推荐

    vxworks 数组越界引起系统多任务挂起

    然而,即使是这样一款成熟的操作系统,在开发过程中也可能会遇到各种问题,比如数组越界错误。本文将通过一个具体的案例来分析数组越界如何引起VxWorks系统的多任务挂起以及后续的系统崩溃。 #### 二、案例背景 在...

    越界listview

    在这里,“越界”指的是在滚动ListView时,触及其边界导致的错误或异常情况;而“回弹效果”则是指当用户尝试滚动到ListView的顶部或底部时,视图会有一个反弹或回跳的动作,模拟现实世界中的物理行为,提供更好的...

    测试典型低级错误

    常见的运行时错误包括空指针异常、数组越界、资源泄露(如未关闭的文件或数据库连接)等。编写代码时,应确保对可能出错的部分进行异常处理,使用try-catch块捕获和处理异常。 4. **内存管理错误**:在动态分配内存...

    C语言常见内存错误

    // 可能的越界错误 } return 0; } ``` **解决方法**: 1. **数组索引检查**:在访问数组元素之前,确保索引值在有效范围内。 2. **字符串操作安全**:使用`strncpy()`替代`strcpy()`,并在必要时添加长度限制。 ...

    Delphi 编译运行错误中文速查

    "访问冲突"错误可能源于非法的内存访问,这通常是由于指针错误或数组越界造成的。 处理Delphi编译错误的关键是仔细阅读错误信息,它会提供错误的具体位置和原因。你可以根据错误提示检查并修改相应的代码行。同时,...

    PowerBuilder错误代码查询解析

    以上是PowerBuilder中部分错误代码的详细解释,了解并掌握这些错误代码的含义,有助于提高开发效率,减少调试时间,确保应用程序的稳定性和可靠性。在遇到具体问题时,可以根据错误代码快速定位问题所在,从而进行...

    Matlab常见错误总结

    4. **索引越界**:当你试图访问数组或矩阵的一个不存在的索引时,会出现索引越界的错误。在处理数组时,要确保索引值在0到数组长度减1之间。 5. **除数为零**:在进行除法运算时,若除数为零,Matlab会抛出错误。...

    嵌入式软件动态运行时错误的检测

    3. 运行时错误:运行时错误发生在程序执行期间,包括空指针引用、数组越界、资源泄漏、线程同步问题等。这些错误往往难以在编译时检测出来,但会在实际运行中引发崩溃或异常行为。动态分析工具和调试器是检测运行时...

    OJ网站上的常见错误分析

    一般例如指针、数组下标越界都会造成这个错误的。 * ARRAY_BOUNDS_EXCEEDED:程序试图访问一个超出硬件支持范围的数组单元。 * FLOAT_DENORMAL_OPERAND:进行了一个非正常的浮点操作。一般是由于一个非正常的浮点数...

    linux c语言错误处理

    当遇到特定错误时,调用这个函数记录错误信息,如错误代码、错误位置、当前时间等,并决定是否终止程序。这有助于调试和日志分析。 五、内存管理错误 内存管理错误是C语言编程中常见的问题,包括内存泄漏、空指针...

    linux下段错误检查sigsegv

    - 内存泄漏:长时间不释放已分配的内存,可能导致可用内存耗尽,从而触发段错误。 - 错误的指针类型转换:不同类型的指针之间不正确的转换也可能导致问题。 5. 优化调试: - 使用`valgrind`工具检查内存错误,如...

    C++99个常见错误

    19. **错误使用STL容器**:理解STL容器的特性,如插入和删除操作的时间复杂度,避免不必要的迭代器失效。 20. **模板元编程滥用**:虽然模板元编程能提供强大的静态特性,但过度使用可能导致编译时间过长和代码难以...

    ACM错误汇总

    - **数组越界访问**:确保所有数组索引都在有效范围内。 - **空指针访问**:避免使用未初始化的指针。 - **除零错误**:检查所有涉及除法运算的地方,避免分母为0的情况。 - **解决方案**:使用调试工具定位具体...

    22 matlab调试错误分析.zip

    运行时错误发生在程序执行过程中,例如除以零、索引越界、无效的操作等。MATLAB会显示错误消息,如“Undefined function or variable”或“Index exceeds matrix dimensions”。为避免这类错误,需在编写代码时充分...

    Matlab技术的调试和错误处理方法.docx

    在程序中使用 log 信息记录错误信息,包括错误发生的时间、位置等。当程序出现错误时,可以查看错误日志以了解错误的原因和发生频率。 四、避免常见错误 除了调试和错误处理方法外,我们还可以通过一些预防措施来...

    汇编语言错误大全 非常准确

    4. **内存管理错误**:由于汇编语言直接操作内存,因此,如果没有正确地分配、释放或访问内存,就可能出现段错误、越界访问等问题。 5. **链接错误**:当汇编代码中引用了未定义的外部符号,或者函数调用顺序错误时...

    c语言调试与错误

    3. **运行时错误**:这类错误发生在程序执行期间,通常涉及资源管理问题,如内存访问错误(例如访问未初始化的变量或越界访问数组)、除零错误、浮点异常等。运行时错误可能导致程序崩溃或产生不可预测的结果。 ###...

Global site tag (gtag.js) - Google Analytics