java - 两个日期之间的天数

标签 java date calendar days

出于某种原因,输出的数值约为 16348。当第一个和最后一个日期值分别为 0110 和 0201 时。为什么我没有获得每日值(value)?

import java.util.Scanner;
import java.util.Calendar;
import java.util.Date;
import java.text.SimpleDateFormat;

public class Project3 {

  public static void main(String[] args) {
  Scanner input = new Scanner(System.in);

  String firstDate = input.next(), lastDate = input.next();

  try {
    Date date1 = new SimpleDateFormat("MMdd").parse(firstDate);
    Date date2 = new SimpleDateFormat("MMdd").parse(lastDate); 
    System.out.println(Project3.days(date1, date2));     
  } catch (Exception e) {
    //
  } 

  }
   public static long days(Date startDate, Date endDate) {
    Calendar start = Calendar.getInstance();
    start.setTime(startDate);
    Calendar end = Calendar.getInstance();
    long daysBetween = 0;
    while(start.before(end)) {
        start.add(Calendar.DAY_OF_MONTH, 1);
        daysBetween++;
    }
    return daysBetween;
 }
}

最佳答案

您忘记调用Calendar.setTime(Date)结束

Calendar end = Calendar.getInstance();
end.setTime(endDate); // <-- like so.

关于java - 两个日期之间的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26350390/

相关文章:

java - 从代码更改 Tomcat Webapp 目录

mysql - 数据库结构: Best Way To Set up Table for a Calendar Work Roster/Schedule (mySQL)?

安卓日历 : how can i make an horizontal calendar ?

javascript - C# DateTime 转 Javascript 日期 - 时区

javascript - JQuery 完整日历 : some clicks are ignored on Prev and Next buttons

java - 替换某些符号之间的文本

java - 用于单击除具有特定名称的链接之外的所有链接的 WebDriver 脚本不起作用

java - ZK 组件设置组件不是值

javascript - 在 Javascript 中以秒为单位转换 getFullYear()

javascript - 当我使用 moment 解析时,Moment.js 2 个不同的日期字符串给出相同的值