简单版的就是不用那么繁琐的去用switch一个月一个月的把天数相加,这里运用的是JS对象的日期对象的方法。
大致的实现原理,就是用需要计算的那天减去当年的第一天,得出差值,进行相关的计算得到答案。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>document</title>
</head>
<style>
#textarea{
margin-top: 10px;
width: 300px;
height: 50px;
}
</style>
<body>
<input type="text" id="year"><label for="">年</label>
<input type="text" id="month"><label for="">月</label>
<input type="text" id="day"><label for="">日</label>
<input type="submit" value="计算" id="jisuan"><br>
<input type="textarea" value="一年中的第几天" id="textarea">
</body>
<script>
var oyear = document.getElementById('year');
var omonth = document.getElementById('month');
var oday = document.getElementById('day');
var ojisuan = document.getElementById('jisuan');
var otextarea = document.getElementById('textarea');
ojisuan.onclick = function () {
var y= oyear.value;
var m= omonth.value;
var d= oday.value;
// 年月日的格式,中间需要有一个空格
var str1 = y+" "+m+" "+d;
// 一年当中的第一天
var str2 = y+" "+1+" "+1;
var date1 = new Date(str1);
var date2 = new Date(str2);
var d = date1-date2;
var d = (date1-date2)/1000/60/60/24+1;
otextarea.value = "一年中的第"+d+"天";
}
</script>
</html>
这里需要注意的是,换算过后,需要加上一开始被减掉的那一天,才能得到正确答案哦。
同样的,
例如:我自己在Chrome浏览器上试了2010年3月14日是2010年中的第几天,答案是73天。
ok,简单版完成了,啦啦啦~周末愉快哦。