版权声明:转载注明出处 https://blog.csdn.net/jy02268879/article/details/81677151
闰年是公历中的名词。
普通年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年,1999年不是闰年);
世纪年:能被400整除的为世纪闰年。(如2000年是闰年,1900年不是闰年);
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class DayInYear {
public static void main(String[] args){
try {
System.out.println("请输入年月日:格式yyyy-mm-dd");
Scanner s = new Scanner(System.in);
String n = s.next();
SimpleDateFormat fd = new SimpleDateFormat ("yyyy-MM-dd");
Date d = fd.parse(n);
Calendar calendar=Calendar.getInstance();
calendar.setTime(d);
int year=calendar.get(Calendar.YEAR);
int month=calendar.get(Calendar.MONTH)+1;
int day=calendar.get(Calendar.DAY_OF_MONTH);
if(month>12||month<1||day<1||day>31){
System.out.println("输入格式错误");
return;
}
System.out.println("year : "+year);
System.out.println("month : "+month);
System.out.println("day : "+day);
int sumDay = 0;
for(int i =1 ; i< month;i++){
switch (i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
sumDay += 31;
break;
case 4:
case 6:
case 9:
case 11:
sumDay += 30;
break;
case 2:
if((year%4==0&&year%100!=0)||year%400==0){
sumDay +=29;
}else{
sumDay +=28;
}
break;
}
}
sumDay += day;
System.out.println(year + "年" + month + "月" + day + "日是" + year + "年的第" + sumDay + "天");
} catch (ParseException e) {
System.out.println("输入格式错误");
e.printStackTrace();
}
}
}