DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> javascript顯示上周、上個月日期的處理方法
javascript顯示上周、上個月日期的處理方法
編輯:關於JavaScript     

本文實例介紹了javascript一周前、一個月前的實現代碼,對於javascript日期處理進行了簡單分析,分享給大家供大家參考,具體內容如下

<html>
<head>
 <title></title>
 <script src="../Script/jQuery/jquery-1.6.2.min.js" type="text/javascript"></script>
 <script src="../Script/MTHCRMWidget/MTHCRMWidget.js" type="text/javascript"></script>
 <script type="text/javascript">
  $(function () {
   myClick();//點擊事件觸發
  })

  //專門包裝點擊事件;
  function myClick() {
   $(".tbBtn").click(function () {
    var sid = $(this).attr("id");
    var agoDate = "";
    var Cdate = new Date();
    if (sid == "CbtnNull") {
     $("#txtCallCycleBegin").val("");
     $("#txtCallCyclecurrend").val("");
    } else if (sid == "CbtnMoon") {
     agoDate = ProcessDate(30);
     $("#txtCallCycleBegin").val("{0}-{1}-{2}".format(agoDate.Year, agoDate.Moon, agoDate.Day));
     $("#txtCallCyclecurrend").val("{0}-{1}-{2}".format(Cdate.getFullYear(), Cdate.getMonth() + 1, Cdate.getDate()));
    } else {
     agoDate = ProcessDate(7);
     $("#txtCallCycleBegin").val("{0}-{1}-{2}".format(agoDate.Year, agoDate.Moon, agoDate.Day));
     $("#txtCallCyclecurrend").val("{0}-{1}-{2}".format(Cdate.getFullYear(), Cdate.getMonth() + 1, Cdate.getDate()));
    }
   })
  }

  //處理日期的函數,返回一個字面量;
  function ProcessDate(type) {
   //1.0獲取現在時間的年月日:
   var currentTime = new Date("2016-01-02"); //得到當前的時間
   var currentYear = currentTime.getFullYear(); //得到當前的年份
   var currentMoon = currentTime.getMonth() + 1; //得到當前的月份(系統默認為0-11,所以要加1才算是當前的月份)
   var currentDay = currentTime.getDate(); //得到當前的天數

   //2.0獲取當前時間的一個月內的年月日:(一個月內的大眾業務需求為:當前時間的月份-1,當前時間的天數+1)
   var agoDay = "";
   var agoMoon = currentMoon;
   var agoYear = currentYear;
   var max = "";
   switch (type) {
    case 30:
     agoDay = currentDay + 1;
     agoMoon = currentMoon - 1;
     max = new Date(agoYear, agoMoon, 0).getDate(); //獲取上個月的總天數
     break;
    case 7:
     agoDay = currentDay - 6;
     if (agoDay < 0) {
      agoMoon = currentMoon - 1;//月份減1
      max = new Date(agoYear, agoMoon, 0).getDate(); //獲取上個月的總天數
      agoDay = max + agoDay;//天數在上個月的總天數的基礎上減去負數
     }
     break;
   }

   //3.0對處理的年月日作邏輯判斷


   //如果beginDay > max(如果是當前時間的天數+1後的數值超過了上個月的總天數: 天數變為1,月份增加1)
   if (agoDay > max) {
    agoDay = 1;
    agoMoon += 1;
   }

   //如果月份當月為1月的時候, 那麼一個月內: 年:-1 月:12 日:依然不變 
   if (agoMoon == 0) {
    agoMoon = 12;
    agoYear = currentYear - 1;
   }

   //4.0對已經處理好的數據作格式處理(單位數則自動補零)
   currentMoon = Appendzero(currentMoon);
   currentDay = Appendzero(currentDay);
   agoMoon = Appendzero(agoMoon);
   agoDay = Appendzero(agoDay);

   //5.0幫助代碼
   console.log("當前時間為:{0}-{1}-{2}".format(currentYear, currentMoon, currentDay));
   console.log("一個月前的時間為{0}-{1}-{2}".format(agoYear, agoMoon, agoDay));

   return { "Year": agoYear, "Moon": agoMoon, "Day": agoDay };
  }

  //處理各位數為零的數字(單位數則加0)
  function Appendzero(obj) {
   if (obj < 10) {
    return "0" + obj;
   } else { 
    return obj;
   }
  }

 </script>
</head>
<body>
 <input type="button" class="tbBtn" id="CbtnNull" style="background-color:#e3e3e3" value="不限"/>
 <input type="button" class="tbBtn" id="CbtnMoon" style="width: 80px; margin-left: 5px; margin-right: 5px;" value="一個月內"/>
 <input type="button" class="tbBtn" id="CbtnWeek" style="width: 80px; margin-left: 5px; margin-right: 5px;" value="一周內"/>
 <input id = "txtCallCycleBegin" type="text"/>
 <input id = "txtCallCyclecurrend" type="text"/>
</body>
</html>

以上就是本文的全部內容,希望能夠幫助大家更好的解決javascript日期處理問題。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved