老虎美食博客

和老虎一起美食一下吧!

« What InterpolationMode and CompositingQuality to use when generating thumbnails via System.Drawing用javascript实现select的美化 »

javascript的日期计算问题:“上一周”和“下一周”,“上一月”和“下一月”

<html>
<head>
<title>无标题文档</title>
<script language="javascript" type="text/javascript">
var currentmonth,currentday,currentweek
currentmonth=0
currentday=0
currentweek=0
function showToDay()
{
 var Nowdate=new Date();
 M=Number(Nowdate.getMonth())+1
 return Nowdate.getFullYear()+"-"+M+"-"+Nowdate.getDate();
}
function showWeekFirstDay(cases)
{
 switch (cases)
 {
  case "" :
   var Nowdate=new Date();
   var WeekFirstDay=new Date(Nowdate-(Nowdate.getDay()-1)*86400000);
   return WeekFirstDay;
   break;
  case "n" :
   var MonthFirstDay=showWeekLastDay("")
   var WeekFirstDay=new Date((MonthFirstDay/1000+86400)*1000);
   return WeekFirstDay;
   break;
  case "p" :
   var WeekFirstDay=showWeekFirstDay("")
   var WeekFirstDay=new Date(WeekFirstDay-86400000*7);
   return WeekFirstDay;
   break;
 }
}
function showWeekLastDay(cases)
{
 switch (cases)
 {
  case "" :
   var Nowdate=new Date();
   var WeekFirstDay=new Date(Nowdate-(Nowdate.getDay()-1)*86400000);
   var WeekLastDay=new Date((WeekFirstDay/1000+6*86400)*1000);
   return WeekLastDay;
   break;
  case "n" :
   var MonthFirstDay=showWeekLastDay("")
   var WeekLastDay=new Date((MonthFirstDay/1000+7*86400)*1000);
   return WeekLastDay;
   break;
  case "p" :
   var WeekFirstDay=showWeekFirstDay("")
   var WeekLastDay=new Date(WeekFirstDay-86400000);
   return WeekLastDay;
   break;
 }
}
function showMonthFirstDay(cases)
{
 var Nowdate=new Date();
 switch (cases)
 {
  case "" :
   var MonthFirstDay=new Date(Nowdate.getFullYear(),Nowdate.getMonth(),1);
   return MonthFirstDay;
   break;
  case "n" :
   var MonthFirstDay=new Date(Nowdate.getFullYear(),Nowdate.getMonth()+1+currentmonth,1);
   return MonthFirstDay;
   break;
  case "p" :
   var MonthFirstDay=new Date(Nowdate.getFullYear(),Nowdate.getMonth()-1+currentmonth,1);
   return MonthFirstDay;
   break;
 }
}
function showMonthLastDay(cases)
{
 var Nowdate=new Date();
 switch (cases)
 {
  case "" :
   currentmonth=0;
   currentday=0;
   var MonthNextFirstDay=new Date(Nowdate.getFullYear(),Nowdate.getMonth()+1+currentmonth,1);
   var MonthLastDay=new Date(MonthNextFirstDay-86400000);
   return MonthLastDay;
   break;
  case "n" :
   var MonthNextFirstDay=new Date(Nowdate.getFullYear(),Nowdate.getMonth()+2+currentmonth,1);
   var MonthLastDay=new Date(MonthNextFirstDay-86400000);
   return MonthLastDay;
   break;
  case "p" :
   var MonthNextFirstDay=new Date(Nowdate.getFullYear(),Nowdate.getMonth()+currentmonth,1);
   var MonthLastDay=new Date(MonthNextFirstDay-86400000);
   return MonthLastDay;
   break;
 }
}
Date.prototype.toString = function ()
{
 return this.getFullYear() + "-" + (this.getMonth()+1) + "-" + this.getDate();
}
function InputDate(s,StartTime,EndTime)
{
 switch (s)
 {
  case 0 : //当天
   document.getElementById(StartTime).value=showToDay();
   document.getElementById(EndTime).value=showToDay();
   break;
  case 1 : //上周
   document.getElementById(StartTime).value=showWeekFirstDay("p");
   document.getElementById(EndTime).value=showWeekLastDay("p");
   break;
  case 2 : //本周
   document.getElementById(StartTime).value=showWeekFirstDay("");
   document.getElementById(EndTime).value=showWeekLastDay("");
   break;
  case 3 : //下周
   document.getElementById(StartTime).value=showWeekFirstDay("n");
   document.getElementById(EndTime).value=showWeekLastDay("n");
   break;
  case 4 : //上月
   document.getElementById(StartTime).value=showMonthFirstDay("p");
   document.getElementById(EndTime).value=showMonthLastDay("p");
   break;
  case 5 : //本月
   document.getElementById(StartTime).value=showMonthFirstDay("");
   document.getElementById(EndTime).value=showMonthLastDay("");
   break;
  case 6 : //下月
   document.getElementById(StartTime).value=showMonthFirstDay("n");
   document.getElementById(EndTime).value=showMonthLastDay("n");
   break;
  case 99 : //清空
   document.getElementById(StartTime).value="";
   document.getElementById(EndTime).value="";
   break;
  default :
   alert("未知的参数");
 }
}
</script>
</head>
<body>
<input name="StartTime" type="text" id="StartTime">
<input name="EndTime" type="text" id="EndTime">
<br>
<br>
<input type="button" name="Submit" value="上月" onclick="javascript:InputDate(4,'StartTime','EndTime');currentmonth--;">
<input type="button" name="Submit" value="本月" onclick="javascript:InputDate(5,'StartTime','EndTime');">
<input type="button" name="Submit" value="下月" onclick="javascript:InputDate(6,'StartTime','EndTime');currentmonth++;">
<br>
<br>
<input type="button" name="Submit" value="上周" onclick="javascript:InputDate(1,'StartTime','EndTime');">
<input type="button" name="Submit" value="本周" onclick="javascript:InputDate(2,'StartTime','EndTime');">
<input type="button" name="Submit" value="下周" onclick="javascript:InputDate(3,'StartTime','EndTime');">
</body>
</html>
  • 相关文章:
  • quote 2.Bruce
  • 老大,你的周咱只能上一周下一周只能点一次呀?
  • 2008-5-4 8:48:06 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Spirit Build 80605 Code detection by Codefense

Copyright 2007 老虎美食博客. Some Rights Reserved.