计算任意两个日期之间的天数
import java.util.*;
public class text1 {
public static void main(String[] args) {
Scanner inScanner=new Scanner(System.in);
System.out.println("输入头一年的年月日:");
int a=inScanner.nextInt();
int b=inScanner.nextInt();
int c=inScanner.nextInt();
System.out.println("输入后一年的年月日:");
int a1=inScanner.nextInt();
int b1=inScanner.nextInt();
int c1=inScanner.nextInt();
int PING[]= {31,28,31,30,31,30,31,31,30,31,30,31};
int RUN[]={31,29,31,30,31,30,31,31,30,31,30,31};
int sum=0,count=0,sum1=0,sum2=0;
//计算两年之间的闰年个数
for (int i =a+1; i < a1; i++) {
if ((i%4==0&&i%100!=0)||(i%400==0))
count++;
}
System.out.println("两年之间闰年个数:"+count);
sum=365*(a1-a-1)+count;
//计算头一年的日期到最后一天的天数
//首先判断是不是闰年
if ((a%4==0&&a%100!=0)||(a%400==0)) {
if (b>=2) {
for (int i=0; i<b-1; i++) {
sum1+=RUN[i];
}
sum1+=c;
sum1=366-sum1;
System.out.println("头一年到年底还有"+sum1+"天");
}
else {
sum1=366-c;
System.out.println("头一年到年底还有"+sum1+"天");
}
}
//头一年平年的情况
else {
if (b>=2) {
for (int i=0; i<b-1; i++) {
sum1+=PING[i];
}
sum1+=c;
sum1=365-sum1;
System.out.println("头一年到年底还有"+sum1+"天");
}
else {
sum1=365-c;
System.out.println("头一年到年底还有"+sum1+"天");
}
}
//计算后一年的日期是这一年的多少天
if ((a1%4==0&&a1%100!=0)||(a1%400==0)) {
if (b1>=2) {
for (int i=0; i<b1-1; i++) {
sum2+=RUN[i];
}
sum2+=c1;
System.out.println("后一年的日期是这一年的"+sum2+"天");
}
else {
sum2=c1;
System.out.println("后一年的日期是这一年的"+sum2+"天");
}
}
else {
if (b1>=2) {
for (int i=0; i<b1-1; i++) {
sum2+=PING[i];
}
sum2+=c1;
System.out.println("后一年的日期是这一年的"+sum2+"天");
}
else {
sum2=c1;
System.out.println("后一年的日期是这一年的"+sum2+"天");
}
}
sum=sum+sum1+sum2;
System.out.println("两个日期之间有"+sum+"天");
}
}