前端小白的学习笔记-JavaScript篇
按年/月/日的顺序输入一个任意日期,在页面输出:这是这一年的第几天
如:2016年1月2日 是2016年的第2天,而2016年12月31日则是2016年的第366天(因为闰年会多一天)
//普通年
// 31\28\31\30\31\30\31\31\30\31\30\31
// 31\59\90\120\151\181\212\243\273\304\334\365
//闰年
// 31\29\31\30\31\30\31\31\30\31\30\31
// 31\60\91\121\152\182\213\244\274\305\335\366
var year = parseInt(prompt("请输入年份"));
var mouth = parseInt(prompt("请输入月份"));
var day = parseInt(prompt("请输入具体号数"));
var days; //之前月份的总天数
var totalday;//该年中的第几天
if (year >= 0){
if (year % 400 == 0 || year % 4 == 0 && year % 100 !=0 ){ //闰年
switch (mouth){
case 1:
days = 0;
break;
case 2:
days = 31;
break;
case 3:
days = 60;
break;
case 4:
days = 91;
break;
case 5:
days = 121;
break;
case 6:
days = 152;
break;
case 7:
days = 182;
break;
case 8:
days = 213;
break;
case 9:
days = 244;
break;
case 10:
days = 274;
break;
case 11:
days = 305;
break;
case 12:
days = 335;
break;
default:
document.write("没有该月份,请重新输入");
}
if (mouth==1||mouth==3||mouth==5||mouth==7||mouth==8||mouth==10||mouth==12){ //大月
if (day>0&&day<=31){
totalday = days + day;
}else {
document.write("您输入的日期不符合规则");
}
}else if (mouth==4||mouth==6||mouth==9||mouth==11){ //小月
if (day>0&&day<=30){
totalday = days + day;
}else {
document.write("您输入的日期不符合规则");
}
}else if(mouth==2){ //平月
if (day>0&&day<=29){
totalday = days + day;
}else {
document.write("您输入的日期不符合规则");
}
}
}else { //非闰年
switch (mouth){
case 1:
days = 0;
break;
case 2:
days = 31;
break;
case 3:
days = 59;
break;
case 4:
days = 90;
break;
case 5:
days = 120;
break;
case 6:
days = 151;
break;
case 7:
days = 181;
break;
case 8:
days = 212;
break;
case 9:
days = 243;
break;
case 10:
days = 273;
break;
case 11:
days = 304;
break;
case 12:
days = 334;
break;
default:
document.write("没有该月份,请重新输入");
}
if (mouth==1||mouth==3||mouth==5||mouth==7||mouth==8||mouth==10||mouth==12){ //大月
if (day>0&&day<=31){
totalday = days + day;
}else {
document.write("您输入的日期不符合规则");
}
}else if (mouth==4||mouth==6||mouth==9||mouth==11){ //小月
if (day>0&&day<=30){
totalday = days + day;
}else {
document.write("您输入的日期不符合规则");
}
}else if(mouth==2){ //平月
if (day>0&&day<=28){
totalday = days + day;
}else {
document.write("您输入的日期不符合规则");
}
}
}
}else{
document.write("您输入的年份"+year+"不符合规则,请重新输入");
}
if (totalday == undefined){
}else {
document.write("这是"+year+"年的第"+totalday+"天");
}