package zkj;
import java.io.*;
import java.math.*;
import java.util.Scanner;
import java.util.Arrays;
import java.util.TreeSet;
import java.util.Iterator;
import java.util.Calendar;//类
public class Zz {
public static void main(String[] args) throws IOException {
Scanner cin=new Scanner (System.in);
Calendar calendar=Calendar.getInstance();//定义
int year;
year=cin.nextInt();
int yue;
yue=cin.nextInt();
int ri;
ri=cin.nextInt();
//输入::::
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, yue);
calendar.set(Calendar.DAY_OF_MONTH, ri);
//输出::::
System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
//输出经过一天和n天后的日期是多少
//如果是经过n年、n月之后的日期,只需将calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+1);中的DAY_OF_MONTH改为YEAR、MONTH
calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+1);
System.out.print(calendar.get(Calendar.YEAR)+" "+calendar.get(Calendar.MONTH)+" "+calendar.get(Calendar.DAY_OF_MONTH));
int n;
n=cin.nextInt();
n--;//前面已经n+1了
calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+n);
System.out.print(calendar.get(Calendar.YEAR)+" "+calendar.get(Calendar.MONTH)+" "+calendar.get(Calendar.DAY_OF_MONTH));
//比较两个时间之间所差的天数
Calendar a = Calendar.getInstance(), b = Calendar.getInstance();
int ye,mo,rii;
int ye2,mo2,ri2;
ye=cin.nextInt();
mo=cin.nextInt();
rii=cin.nextInt();
a.set(Calendar.YEAR, ye);
a.set(Calendar.MONTH, mo);
a.set(Calendar.DAY_OF_MONTH, rii);
ye2=cin.nextInt();
mo2=cin.nextInt();
ri2=cin.nextInt();
b.set(Calendar.YEAR, ye2);
b.set(Calendar.MONTH, mo2);
b.set(Calendar.DAY_OF_MONTH, ri2);
//getTimeInMillis()是返回从格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000到Calendar对象表示的时间之间的毫秒数
//1、long型的整数 表示从1790-1-1 00:00:00到当前时间总共经过的时间的毫秒数。
//2、除以1000/60/60/24得到的是天数。
long diffDays = (b.getTimeInMillis() - a.getTimeInMillis())
/ (1000 * 60 * 60 * 24);
System.out.println("相差" + diffDays + " 天");
}
}
输出:
2021 10 25
329
2021 10 26
5555
2037 1 9
2020 1 2
2020 1 3
相差1 天