五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > JS操作日期,順便實(shí)現(xiàn) 上一周 和 下一周 功能

JS操作日期,順便實(shí)現(xiàn) 上一周 和 下一周 功能

文章來(lái)源:365jz.com     點(diǎn)擊數(shù):819    更新時(shí)間:2009-10-23 08:50   參與評(píng)論

jsDate.htm

<!--
 今天,一已工作的學(xué)生向我求助:
 1. 頁(yè)面加載時(shí),一個(gè)地方顯示當(dāng)前日期,其左右各一個(gè)箭頭,分別表示上一周,下一周
  下面的表格顯示本周每個(gè)日期,從周一到周日
 2. 點(diǎn)左右箭頭,那個(gè)地方顯示上一周或下一周的今天,且下面的表格顯示上一周或下一周的每個(gè)日期

 JS本身沒(méi)有提供日期加減操作能力,所以借此寫(xiě)了幾個(gè)方法,用以操作日期,主要是實(shí)現(xiàn)日期的加減
 作者:郴州拓職任文敏
-->

<script>
 var currDT;
 var aryDay = new Array("日","一","二","三","四","五","六");

 //初始頁(yè)面

 function ini() {
  currDT = new Date();   

  showDate();
 }

 //上一周 或 下一周

 function addWeek(ope) {
  var num = 0;
  if(ope=="-") {
   num = -7;
  }
  else if(ope=="+") {
   num = 7;
  }

  currDT = addDate(currDT,num);

  showDate();
 }

 function showDate() {
  span1.innerHTML = currDT.toLocaleDateString(); //顯示日期

  var dw = currDT.getDay();
  var tdDT;
  //確定周一是那天
  if(dw==0) {
   tdDT = addDate(currDT,-6);
  }
  else {
   tdDT = addDate(currDT,(1-dw));
  }
  
  //在表格中顯示一周的日期
  var objTB = document.getElementById("tb1");
  for(var i=0;i<7;i++) {

   if(tdDT.toLocaleDateString()==currDT.toLocaleDateString()) {
    objTB.rows[0].cells[i].style.color = "red";  //currDT突出顯示
   }


   dw = tdDT.getDay();
   objTB.rows[0].cells[i].innerHTML = tdDT.getMonth()+1 + "月" + tdDT.getDate() + "日 星期" + aryDay[dw];
   tdDT = addDate(tdDT,1);  //下一天
  }
 }
 
 //增加或減少若干天,由 num 的正負(fù)決定,正為加,負(fù)為減
 function addDate(dt,num) {
  var ope = "+";
  if(num<0) {
   ope = "-";
  }
  
  var reDT = dt;
  for(var i=0;i<Math.abs(num);i++) {
   reDT = addOneDay(reDT,ope);
  }

  return reDT;
 }
 
 //增加或減少一天,由ope決定, + 為加,- 為減,否則不動(dòng)
 function addOneDay(dt,ope) { 
  var num = 0;
  if(ope=="-") {
   num = -1;
  }
  else if(ope=="+") {
   num = 1;
  }

  var y = dt.getYear();
  var m = dt.getMonth();
  var lastDay = getLastDay(y,m);  

  var d = dt.getDate();
  d += num;
  if(d<1) {
   m--;
   if(m<0) {
    y--;
    m = 11;
   }
   d = getLastDay(y,m);
  }
  else if(d>lastDay) {
   m++;
   if(m>11) {
    y++;
    m = 0;
   }
   d = 1;
  }
  
  var reDT = new Date();
  reDT.setYear(y);
  reDT.setMonth(m);
  reDT.setDate(d);

  return reDT;
 }
 
 //是否為閏年
 function isLeapYear(y) {
  var isLeap = false;
  if(y%4==0 && y%100!=0 || y%400==0) {
   isLeap = true;
  }
  return isLeap;
 }
 
 //每月最后一天
 function getLastDay(y,m) {
  var lastDay = 28;
  m++;
  if(m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12) {
   lastDay = 31;
  }
  else if(m==4 || m==6 || m==9 || m==11) {
   lastDay = 30;
  }
  else if(isLeapYear(y)==true) {
   lastDay = 29;
  }
  return lastDay;
 }
</script>

<body onload="ini()"> <!--加載時(shí)初始頁(yè)面-->


<span style="cursor:hand;font-weight:bold;" onclick="addWeek('-')" title="上一周">←</span>
&nbsp;&nbsp;<span id="span1"></span>&nbsp;&nbsp;
<span style="cursor:hand;font-weight:bold;"  onclick="addWeek('+')" title="下一周">→</span>
<br />
<table id="tb1" border="1" style="font-size:10pt">
 <tr>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
 </tr>
</table>

如對(duì)本文有疑問(wèn),請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答?。?點(diǎn)擊進(jìn)入論壇

發(fā)表評(píng)論 (819人查看,0條評(píng)論)
請(qǐng)自覺(jué)遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。
昵稱(chēng):
最新評(píng)論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢(xún)

· 技術(shù)支持
· 服務(wù)時(shí)間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)