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