一个问题用javascript写出来
题目:我得到今天的时间,今天的星期2,选择一个值,是星期3,
怎么利用今天的时间得到2007-12-1到2007-12-30号之间所有的星期3
并且这个2007-12-1到2007-12-30时间范围是可改写的.如有时可以是2007-08-01到2007-12-30之间的时间
题目:我得到今天的时间,今天的星期2,选择一个值,是星期3,
怎么利用今天的时间得到2007-12-1到2007-12-30号之间所有的星期3
并且这个2007-12-1到2007-12-30时间范围是可改写的.如有时可以是2007-08-01到2007-12-30之间的时间
for(var i=1;i<weeks;i++)
{
document.write(今天几号+(weeks*7));
}
<script type="text/javascript">
//<![CDATA[
var a=new Date(2007,12,1); var b=new Date(2008,2,30);
var w=3;var x=daysInterval(a);
var z=daysInterval(b);for (var i=0; i<=z-x; i++) {
var l=new Date();
l.setDate(a.getDate()+i);
if (l.getDay()==w)
document.writeln(l.toLocaleString()+" 星期"+l.getDay()+"<br/>")
}function daysInterval (d) {
try { return Math.round(Date.parse(d)/3600000/24); }
catch (e) { throw "never-online tell you: the date is invalid!" +e; }
}
//]]>
</script>
</script>
var d1=new Date("2007/08/1");
var d2=new Date("2007/12/30");
var str="";
var d=new Date();
//=============对时间循环===============
for(d=d1;d<d2;d.setDate(d.getDate()+1))
{
if(d.getDay()==week)//注意月份要加1,因为月份从0开始的
str+=d.getFullYear()+"/"+(d.getMonth()+1)+"/"+d.getDate()+"\n";
}
alert("在时间段内是'"+Week(week)+"'的日期为\n"+str)
function Week(week)
{
switch(week)
{
case 0:
return "星期日";
case 1:
return "星期一";
case 2:
return "星期二";
case 3:
return "星期三";
case 4:
return "星期四";
case 5:
return "星期五";
case 6:
return "星期六";
}
}
L@_@K<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>js.Date.getAllDaysInPeriod.html</title>
<meta name="generator" content="editplus" />
<meta name="author" content="Gao YiXiang" />
<meta name="email" content="[email protected]" />
<meta name="keywords" content="javascript dhtml dom" />
<meta name="description" content="I love web development." />
</head>
<body>
<script type="text/javascript">
<!--
/*
* 获取某个时段内给定星期对应的全部日期。
* dayNumber: 给定星期,0 对应星期天,1-6 对应星期一至星期六。
* sStart: 起始日期字符串,yyyy-MM-dd 格式。
* sEnd: 终止日期字符串,yyyy-MM-dd 格式。
* returnValue: 符合条件的日期数组。
*/
function getAllDaysInPeriod(dayNumber, sStart, sEnd)
{
var startDay = new Date(sStart.replace("-", "/"));
var endDay = new Date(sEnd.replace("-", "/")); if (startDay > endDay)
{
var temp = startDay;
startDay = endDay;
endDay = temp;
} var interval = dayNumber - startDay.getDay();
var givenDay;
if (interval != 0)
{
if (interval < 0) interval += 7; with(startDay)
{
givenDay = new Date(getFullYear(), getMonth(), getDate()+interval);
}
}
else
{
firswednesdaytWed = startDay;
} var webList = new Array();
while (givenDay <= endDay)
{
webList.push(givenDay); with(givenDay)
{
givenDay = new Date(getFullYear(), getMonth(), getDate()+7);
}
} return webList;
}// 调用。
var webList = getAllDaysInPeriod(3, "2008-10-1", "2007-10-30");for (var i in webList)
{
// 输出测试,且仅适用中文系统。
document.write(webList[i].getDay() + " : "+ webList[i].toLocaleString().split(" ")[0], "<br />");
} //-->
</script>
</body>
</html>