怎么获得一年下有多少个周,一周下的日期。如2009年有53周。第18周 从5月4日到5月10日。
解决方案 »
- 一段js程序,有很多不明白的地方,请高手给解释一下!
- 如何处理数据库二进制字段
- 简单问题:显示隐藏的层,写一个判断
- 同一段代码firefox和ie下的不同状况,是不是代码不符合w3c标准的缘故?
- 我向函数传入一个File对象,但是在使用ReadLine时却显示“对象不支持此属性或方法”?
- 关于Session的赋值问题
- 分不多--也可以问吗?
- 能否设定使表单中的某个域不提交?
- 看了半天,不明白prototype属性和java里面的static属性的根本区别在哪里?
- js判断不能输入0,但是可以输入0.1
- 请教各位高手一个JAVASCRIPT问题!
- 关于js中alert窗口关闭的问题 急急急!在线等
function calWeek(dt){
var calDay=dt||new Date(); //当前要计算的时间
var firstDay=new Date(calDay.getFullYear(),0,1); //本年第一天
//计算当前是本年的第几天,00:00为当天开始
var daysAll=Math.floor((calDay-firstDay)/1000/60/60/24)+1;
//本年第一天星期几
var firstDayWeekday=firstDay.getDay();
//该结果加到第一周的周一,便于后面计算
var diffDay=firstDayWeekday==0?6:firstDayWeekday-1;
daysAll=daysAll+diffDay;
return Math.ceil(daysAll/7); //返回计算结果
}
<input type="text" id="textyear" value="2009">年<input type="button" value="计算周数" onclick="getWeekNumber()"><span id="span1"></span>
<br/>
<input type="text" id="textweek" value="18">周<input type="button" value="计算日期" onclick="getDates()"><span id="span2"></span><script>
function getWeekNumber(){
var theYear = document.getElementById("textyear").value;
var firstDay = new Date(theYear + "/01/01");
var counter = 0;
while(firstDay.getFullYear() == theYear){
firstDay.setDate(firstDay.getDate() + 7);
counter++;
}
document.getElementById("span1").innerHTML = theYear + "年有" + counter + "周";
}function getDates(){
var theYear = document.getElementById("textyear").value;
var theWeek = document.getElementById("textweek").value;
var theDay = new Date(theYear + "/01/01");
theDay.setDate(theDay.getDate() + 7 * theWeek);
while(theDay.getDay() != 1){
theDay.setDate(theDay.getDate() - 1);
}
document.getElementById("span2").innerHTML = theYear + "年,第" + theWeek + "周:"
+ theDay.getFullYear() + "-" + (theDay.getMonth() + 1) + "-" + theDay.getDate()
+ " ~ "
+ theDay.getFullYear() + "-" + (theDay.getMonth() + 1) + "-" + (theDay.getDate() + 6);
}
</script>