<h2>计算周数</h2>
<input id="date" type="text" value="2019-03-19" />
<button onclick="Count($('#date').val())">计算</button>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script>
var firstStartWeek = 0; //得到今年1月1为周几,星期日为起点 星期天=0
var year = ""; //年
var month = ""; //月
var day = ""; //日
var week = 0; //周数
var allDay = 0; //总天数
var monthDay = new Array();
function Count(val) {
year = val.substring(0, 4);
month = val.substring(5, 7);
day = val.substring(8, 10);
week = 0;
allDay = 0;
//减掉第一周剩余的天数
firstStartWeek = 7 - new Date(year + "/01/01").getDay();
//计算润平年
if ((parseInt(year) % 4 == 0 || parseInt(year) % 400 == 0) && (parseInt(year) % 100 != 0)) {
//闰年
monthDay = new Array(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
} else {
//平年
monthDay = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
}
if (firstStartWeek == 0) {
for (var i = 0; i < parseInt(month) - 1 ; i++) {
allDay += monthDay[i];
}
allDay += parseInt(day);//加上当前月的天数
week = Math.ceil(allDay / 7);
} else {
week++;//补回一周
for (var i = 0; i < parseInt(month) - 1 ; i++) {
allDay += monthDay[i];
}
allDay += parseInt(day);//加上当前月的天数
allDay -= firstStartWeek;//扣除第一周多余的天数
week += Math.ceil(allDay / 7);
}
alert(week);
}
</script>