根据一个数字日期,判断这个日期是这一年的第几天
例如: 20160211,计算后结果为42
<script>
var riQi = Number(prompt('请输入一个日期'))
// 从日期当中把年月日分别提取出来
var nian = parseInt(riQi / 10000)
console.log(nian)
var yue = parseInt(riQi % 10000 / 100)
console.log(yue)
var ri = parseInt(riQi % 10000 % 100)
console.log(ri)
var days = 0
switch (yue) {
case 12:
// 加上11月得30天
days += (30 + ri)
days = days - ri
case 11:
// 加上10月得31天
days += (31 + ri)
days = days - ri
case 10:
// 加上9月得30天
days += (30 + ri)
days = days - ri
case 9:
// 加上8月得31天
days += (31 + ri)
days = days - ri
case 8:
// 加上7月得31天
days += (31 + ri)
days = days - ri
case 7:
// 加上6月得30天
days += (30 + ri)
days = days - ri
case 6:
// 加上5月得31天
days += (31 + ri)
days = days - ri
case 5:
// 加上4月得30天
days += (31 + ri)
days = days - ri
case 4:
// 加上3月得31天
days += (31 + ri)
days = days - ri
case 3:
// 加上1月得31天,还要加上2月多少天
// 可以输入年份,根据闰年平年来判断加28或者29
// 判断润平年
if (nian % 4 === 0 && nian % 100 != 0 || nian % 400 === 0) {
console.log(29)
days += (29 + ri);
days = days - ri
} else {
console.log(28)
days += (28 + ri);
days = days - ri
}
case 2:
// 加上1月得总天数31天加上来
days += (31 + ri)
console.log('这一年的第' + days + '天')
days = days - ri
}
</script>