java - 无法获得 2 个月之间的天数 - 具体情况

标签 java date calendar

我有几个这种格式的日期:31/08/13,我从 xls 文件中获取 tehm

我需要做的是获取前一个月并计算这些日期之间的天数。我真的不知道该怎么办。

这是我尝试过的:

代码已编辑*

Calendar start = Calendar.getInstance();
                                Calendar end = Calendar.getInstance();
                                end.setTime(row.getCell(0).getDateCellValue());
                                start.add(start.MONTH,-1);

                                Date startDate = start.getTime();
                                Date endDate = end.getTime();
                                long startTime = startDate.getTime();
                                long endTime = endDate.getTime();
                                long diffTime = endTime - startTime;
                                long diffDays = diffTime / (1000 * 60 * 60 * 24);

                                if(diffDays < 0){
                                    System.out.println(Math.abs(diffDays));
                                }

                                DateFormat dateFormatw = DateFormat.getDateInstance();
                                System.out.println("The difference between "+
                                  dateFormatw.format(startDate)+" and "+
                                  dateFormatw.format(endDate)+" is "+
                                  diffDays+" days.");

但好像不对。因为我太累了,所以我真的无法思考它。运气不好,我在这上面浪费了太多时间。

我正在尝试获取一个月前的同一日期,并计算这两个日期 endTimestartTime 之间的天数

请帮帮我!

最佳答案

我不知道 ProdCalendar 是什么,它可能是您项目内部的东西。但是获取 2 个日期之间的天数的简单方法是(我认为)你想要的是:

//First date
Date d1 = dateFormat.parse("31-10-13");

//Second date
Date d2 = dateFormat.parse("31-08-13");

//Interval:     
long intervalMs = d1.getTime() - d2.getTime();
long intervalDays = intervalMs/(1000*60*60*24);

在您的代码中,date22 仅使用 new date() 初始化,因此它将是当前系统时间。您正在将它(以一种贬低的方式)与从电子表格中检索到的日期进行比较。我还注意到 Calendar cal 在开始附近的这一行中:

Calendar cal = Calendar.getInstance();
cal.setTime(row.getCell(0).getDateCellValue());

不再使用,因此显得多余。

你的代码比它需要的更复杂,所以你需要退后一步,想想你想要实现什么。简单的代码是好的代码。

关于java - 无法获得 2 个月之间的天数 - 具体情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20195515/

相关文章:

java - 按名称的对象和方法

java - 按组获取行 MySQL Java

java - PDFTron PDF 2 XOD 转换中的高内存利用率

ios - 如何以 12 小时格式获取当前时间?

json - 在 extlib 中过滤 iNotes 日历

javascript - 如何在输入中添加或减少天数?

java - 在另一个面板上绘制新面板

PHP 日期 strtotime 不工作

jquery - 如何更改 &lt;input type=Date> 的特定日期的颜色?

javascript - 在此日期函数中添加天数有什么问题?