描述:计算某年某月某日是该年的第几天?
package year_month_date_which;
import java.util.Scanner;
public class day {
public static void main(String[] args) {
int year,month,date;
int sum=0,sum1=0,sum2=0,s;
Scanner cin=new Scanner(System.in);
System.out.println("依次输入年 月 日:");
year=cin.nextInt();
month=cin.nextInt();
date=cin.nextInt();
for(int i=1;i<month;i++)
{
//天数为31天的月份
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
{
sum1++;
}
//天数为30天的月份
else if(i==4||i==6||i==9||i==11)
{
sum2++;
}
}
//2月份
if(month>2)
{
//判断平年还是闰年 确定2月份的天数
if(year%4==0&&year%100!=0||year%4==0&&year%400==0)
{
s=29;
}
else
s=28;
sum=sum1*31+sum2*30+s+date;
}
else if(month<2)
{
sum=date;
}
else
sum=31+date;
System.out.println("该日期为改年的第"+sum+"天");
}
}
描述:计算某年某月某日的下一天是什么日期?
并计算n天后是什么日期?给出两个日期相差的天数 。
package nextDay;
import java.util.Scanner;
public class n {
public static void fun(int year,int month,int date,int n) {
//天数为31天的月份
int year1=year,month1=month,date1=date;
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
if (date < 31) date += 1;
else if (date == 31) {
month += 1; date = 1;
}
if(date+n>31){
month1+=1;date1=date1+n-31;
}
if(date+n<=31){
date1=date1+n;
}
}
//天数为30天的月份
else if (month == 4 || month == 6 || month == 9 || month == 11) {
if(date+n>30){
month1+=1;date1=date1+n-30;
}
if(date+n<=30){
date1=date1+n;
}
if (date < 30) date += +1;
if (date == 30) {
month += 1; date = 1;}
}
else if (year % 4 == 0 && year % 100 != 0 || year % 4 == 0 && year % 400 == 0) {
if (month == 2) {
if(date+n>29){
month1+=1;date1=date1+n-29;
}
if(date+n<=29){
date1=date1+n;
}
if (date < 29) date += +1;
if (date == 29){
month += 1;date = 1;}
}
}
else {
if (month == 2) {
if(date+n>28){
month1+=1;date1=date1+n-28;
}
if(date+n<=28){
date1=date1+n;
}
if (date < 28) date += +1;
if (date == 28){
month += 1; date = 1;}
}
}
if(month==12&&date==31){
year+=1;month=1;date=1;
}
if(month1==12&&date1==31){
year1+=1;month1=1;date1=1;
}
System.out.println("下一天的日期为:" + year + "/" + month + "/" + date);
System.out.println("n天后的日期为:" + year1 + "/" + month1 + "/" + date1);
System.out.println("相差"+n+"天");
}
public static void main(String[] args) {
int year,month,date,n;
Scanner cin=new Scanner(System.in);
System.out.println("依次输入年 月 日:");
year=cin.nextInt();
month=cin.nextInt();
date=cin.nextInt();
System.out.println("输入n(n天后的日期:):");
n= cin.nextInt();
fun(year,month,date,n);
}
}