猿问

用Java计算两个日期之间的天数

用Java计算两个日期之间的天数

我想要一个Java程序来计算两个日期之间的天数。

  1. 键入第一个日期(德语符号;带空格:“dd mm yyyy”)
  2. 键入第二次约会。
  3. 程序应该计算这两个日期之间的天数。

我如何包括闰年和夏季?

我的代码:

import java.util.Calendar;import java.util.Date;import java.util.Scanner;public class NewDateDifference {

    public static void main(String[] args) {

        System.out.print("Insert first date: ");
        Scanner s = new Scanner(System.in);
        String[] eingabe1 = new String[3];

        while (s.hasNext()) {
            int i = 0;
            insert1[i] = s.next();
            if (!s.hasNext()) {
                s.close();
                break;
            }
            i++;
        }

        System.out.print("Insert second date: ");
        Scanner t = new Scanner(System.in);
        String[] insert2 = new String[3];

        while (t.hasNext()) {
            int i = 0;
            insert2[i] = t.next();
            if (!t.hasNext()) {
                t.close();
                break;
            }
            i++;
        }

        Calendar cal = Calendar.getInstance();

        cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(insert1[0]));
        cal.set(Calendar.MONTH, Integer.parseInt(insert1[1]));
        cal.set(Calendar.YEAR, Integer.parseInt(insert1[2]));
        Date firstDate = cal.getTime();

        cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(insert2[0]));
        cal.set(Calendar.MONTH, Integer.parseInt(insert2[1]));
        cal.set(Calendar.YEAR, Integer.parseInt(insert2[2]));
        Date secondDate = cal.getTime();


        long diff = secondDate.getTime() - firstDate.getTime();

        System.out.println ("Days: " + diff / 1000 / 60 / 60 / 24);
    }}


湖上湖
浏览 1484回答 3
3回答

杨__羊羊

最简单的方法:public static long getDifferenceDays(Date d1, Date d2) {     long diff = d2.getTime() - d1.getTime();     return TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);}
随时随地看视频慕课网APP

相关分类

Java
我要回答