一个日期相关的问题 http://nesta13.javaeye.com/blog/198478 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> <SCRIPT LANGUAGE="JavaScript"> var rtnStr = ""; function getWeek(){ var date = new Date(Date.parse("2009" + "/01/01")); var day = date.getDay(); var firstDay = new Date(date.getTime() + (day-7)*24*60*60*1000); setStr(firstDay,new Date(firstDay),2009); alert(rtnStr) } function setStr(dates,dates2,year){ var day1 = dates2; var weekday = new Date(dates.getTime() + 7*24*60*60*1000); rtnStr += dates2.getYear()+" "+(Number(dates2.getMonth())+1)+" "+dates2.getDate() + " to " ; rtnStr += weekday.getYear()+" "+(Number(weekday.getMonth())+1)+" "+weekday.getDate() + "\n"; if(weekday.getYear() == year){ setStr(weekday,weekday,year); } } </SCRIPT> </HEAD> <BODY onload="getWeek()"> </BODY></HTML>把2009替换成你要输入的年份,就OK了。后边周1没有进行+1天的处理,自己研究吧。主要是要去吃饭了。饿啊,把DAY1那里+1天然后就好了 写了一个,应该是你所要的<html><head><script>var year=2008;document.write(GetWeekArray(year).join("<br>"));function GetWeekArray(year){ var fd = new Date(year,0,1) var fday = fd.getDay(); var chr = "-"; var weeks = []; fd.setDate(-fday+2); var t = null; while(fd.getFullYear()!=year+1) { t = fd; weeks.push(fd.getFullDateStr()+"至"+(new Date(fd.setDate(fd.getDate()+6))).getFullDateStr()); fd.setDate(fd.getDate()+1); } return weeks;}function Date.prototype.getFullDateStr(){ var chr = "-"; return this.getFullYear()+chr+(this.getMonth()+1)+chr+this.getDate();}</script></head><body></body></html> t变量没用到,可以去掉<script>var year=2008;document.write(GetWeekArray(year).join("<br>"));function GetWeekArray(year){ var fd = new Date(year,0,1) var fday = fd.getDay(); var chr = "-"; var weeks = []; fd.setDate(-fday+2); while(fd.getFullYear()!=year+1) { weeks.push(fd.getFullDateStr()+"至"+(new Date(fd.setDate(fd.getDate()+6))).getFullDateStr()); fd.setDate(fd.getDate()+1); } return weeks;}function Date.prototype.getFullDateStr(){ var chr = "-"; return this.getFullYear()+chr+(this.getMonth()+1)+chr+this.getDate();}</script> <script type="text/javascript">function getdate(){ var begindate; var lastdate; var date1; var week=document.getElementById("week").value; if(week<1 ||week>53) alert("你输入的数字超出范围"); else{ var date=new Date(); var year=date.getYear()+1900; date1=new Date(year,0,1+(week-1)*7); if(date1==0) { begindate=date1; lastdate=new Date(date1.getTime()+7*24*60*60*1000) } else{ begindate=new Date(date1.getTime()-(date1.getDay()-1)*24*60*60*1000); lastdate=new Date(date1.getTime()+(7-date1.getDay())*24*60*60*1000); } } document.getElementById("begin").value=(parseInt(begindate.getYear())+1900)+"-"+(parseInt(begindate.getMonth())+1)+"-"+begindate.getDate(); document.getElementById("last").value=(parseInt(lastdate.getYear())+1900)+"-"+(parseInt(lastdate.getMonth())+1)+"-"+lastdate.getDate();}</script></head><body>第<input type="text" size="5" id="week" onblur="getdate()" />周的范围:<input type="text" id="begin" size="15" />至<input type="text" size="15" id="last" /></body></html>试试 <script type="text/javascript"> function getdate() { var begindate; var lastdate; var date1; var week=document.getElementById("week").value; if(week<1 ||week>53) alert("你输入的数字超出范围"); else{ var date=new Date(); var year=date.getYear()+1900; date1=new Date(year,0,1+(week-1)*7); if(date1==0) { begindate=date1; lastdate=new Date(date1.getTime()+7*24*60*60*1000) } else{ begindate=new Date(date1.getTime()-(date1.getDay()-1)*24*60*60*1000); lastdate=new Date(date1.getTime()+(7-date1.getDay())*24*60*60*1000); } } document.getElementById("begin").value=(parseInt(begindate.getYear())+1900)+"-"+(parseInt(begindate.getMonth())+1)+"-"+begindate.getDate(); document.getElementById("last").value=(parseInt(lastdate.getYear())+1900)+"-"+(parseInt(lastdate.getMonth())+1)+"-"+lastdate.getDate(); } </script> </head> <body> 第<input type="text" size="5" id="week" onblur="getdate()" />周的范围:<input type="text" id="begin" size="15" />至<input type="text" size="15" id="last" /> </body> </html> 弱弱的问一个jquery UI的小问题 正则表达式 我的页面在IE下面是好的,在Firefox出现一个问题 无聊写个背景效果 求不规则TABLE赋值问题~`` web窗口关闭时,要求 输入密码, 密码正 确则关闭 否则不关闭,怎么实现 javascript如何用正则替换\为\\ 友情奉献 Extjs 在使用Ext.create() 创建控件时如何传递参数的问题。 手机端轮播图的高怎么控制 .NET下 这个脚本浏览器报错,老大们帮修改下,还有要是不用脚本用后台怎么做? 清举一个不用eval函数就不行的的例子,我对这个函数还很迷糊
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
var rtnStr = "";
function getWeek(){
var date = new Date(Date.parse("2009" + "/01/01"));
var day = date.getDay();
var firstDay = new Date(date.getTime() + (day-7)*24*60*60*1000);
setStr(firstDay,new Date(firstDay),2009);
alert(rtnStr)
}
function setStr(dates,dates2,year){
var day1 = dates2;
var weekday = new Date(dates.getTime() + 7*24*60*60*1000);
rtnStr += dates2.getYear()+" "+(Number(dates2.getMonth())+1)+" "+dates2.getDate() + " to " ;
rtnStr += weekday.getYear()+" "+(Number(weekday.getMonth())+1)+" "+weekday.getDate() + "\n";
if(weekday.getYear() == year){
setStr(weekday,weekday,year);
}
}
</SCRIPT>
</HEAD> <BODY onload="getWeek()">
</BODY>
</HTML>
把2009替换成你要输入的年份,就OK了。后边周1没有进行+1天的处理,自己研究吧。主要是要去吃饭了。饿啊,把DAY1那里+1天然后就好了
<html>
<head><script>
var year=2008;
document.write(GetWeekArray(year).join("<br>"));function GetWeekArray(year)
{
var fd = new Date(year,0,1)
var fday = fd.getDay();
var chr = "-";
var weeks = [];
fd.setDate(-fday+2);
var t = null;
while(fd.getFullYear()!=year+1)
{
t = fd;
weeks.push(fd.getFullDateStr()+"至"+(new Date(fd.setDate(fd.getDate()+6))).getFullDateStr());
fd.setDate(fd.getDate()+1);
}
return weeks;}function Date.prototype.getFullDateStr()
{
var chr = "-";
return this.getFullYear()+chr+(this.getMonth()+1)+chr+this.getDate();
}</script>
</head>
<body></body>
</html>
<script>
var year=2008;
document.write(GetWeekArray(year).join("<br>"));function GetWeekArray(year)
{
var fd = new Date(year,0,1)
var fday = fd.getDay();
var chr = "-";
var weeks = [];
fd.setDate(-fday+2);
while(fd.getFullYear()!=year+1)
{
weeks.push(fd.getFullDateStr()+"至"+(new Date(fd.setDate(fd.getDate()+6))).getFullDateStr());
fd.setDate(fd.getDate()+1);
}
return weeks;}function Date.prototype.getFullDateStr()
{
var chr = "-";
return this.getFullYear()+chr+(this.getMonth()+1)+chr+this.getDate();
}</script>
<script type="text/javascript">
function getdate()
{
var begindate;
var lastdate;
var date1;
var week=document.getElementById("week").value;
if(week<1 ||week>53)
alert("你输入的数字超出范围");
else{
var date=new Date();
var year=date.getYear()+1900;
date1=new Date(year,0,1+(week-1)*7);
if(date1==0)
{
begindate=date1;
lastdate=new Date(date1.getTime()+7*24*60*60*1000)
}
else{
begindate=new Date(date1.getTime()-(date1.getDay()-1)*24*60*60*1000);
lastdate=new Date(date1.getTime()+(7-date1.getDay())*24*60*60*1000);
}
}
document.getElementById("begin").value=(parseInt(begindate.getYear())+1900)+"-"+(parseInt(begindate.getMonth())+1)+"-"+begindate.getDate();
document.getElementById("last").value=(parseInt(lastdate.getYear())+1900)+"-"+(parseInt(lastdate.getMonth())+1)+"-"+lastdate.getDate();
}
</script>
</head>
<body>
第<input type="text" size="5" id="week" onblur="getdate()" />周的范围:<input type="text" id="begin" size="15" />至<input type="text" size="15" id="last" />
</body>
</html>
试试