编程语言
首页 > 编程语言> > Java设计方法,计算两个日期之间相差多少天,两个日期的年月日由参数控制

Java设计方法,计算两个日期之间相差多少天,两个日期的年月日由参数控制

作者:互联网

package com.qf.work;
import java.util.Scanner;
public class Homework1 {
    static public int date(int year1,int month1,int day1,int year2,int month2,int day2){
        int sum=0;
        if(year2<year1){
            int i=year2;year2=year1;year1=i;
        }
        if(month2<month1){
            int j=month2;month2=month1;month1=j;
        }
        tp:for (int i = year1; i <= year2; i++) {
            if(i!=year2&&(i%4==0&&i%100!=0||i%400==0)){
                sum+=366;
            }else if(i!=year2)sum+=365;
                for (int j = month1; j < month2; j++) {
                    switch (j) {
                        case 1: case 3: case 5: case 7: case 8: case 10: case 12:
                            sum += 31;break;
                        case 4: case 6: case 9: case 11:
                            sum += 30;break;
                        case 2:
                            if (i%4==0&&i%100!=0||i%400==0){
                                sum += 29;break;
                            } else{sum += 28;break;}
                        default:
                            System.out.println("输入月份有误:");
                            break tp;
                    }
                }
        }
        sum-=31*((year2-year1)*(month2-month1));//多循环了一次
        return sum+=Math.abs(day2-day1);
    }
    public static void main(String[] args) {
        //计算两个日期相差的天数
        System.out.println("请输入第一个日期(格式为年月日):");
        Scanner sc=new Scanner(System.in);
        System.out.print("年:");int i1= sc.nextInt();
        System.out.print("月:");int j1= sc.nextInt();
        System.out.print("日:");int k1= sc.nextInt();
        System.out.println("请输入第二个日期(格式为年月日):");
        System.out.print("年:");int i2= sc.nextInt();
        System.out.print("月:");int j2= sc.nextInt();
        System.out.print("日:");int k2= sc.nextInt();
        int sum=date(i1,j1,k1,i2,j2,k2);
        System.out.println("两个日期相差:"+sum+"天");
    }
}

标签:Java,int,year2,日期,static,年月日,public
来源: https://blog.csdn.net/qq_50105179/article/details/119061822