日期加減,日期處理,日期設定,日期計算,日期差距,日期區間

// 取得這禮拜的星期一到星期日是幾號到幾號
function GetNowWeekPeriod()
{
 // 現在日期
 var myDate  = new Date();
 
 // 現在是星期幾,日為0、一為1、二為2、三為3、四為4、五為5、六為6
 var myDay  = myDate.getDay();
 
 // 設成日為7
 if ( myDay == 0 )
 {
  myDay = 7;
 }
 
 var myStartDate = new Date();
 // 將日期變成目前禮拜的星期一
 myStartDate.setDate(myStartDate.getDate() + (0-(myDay-1)) );
 
 var myEndDate = new Date();
 // 將日期變成目前禮拜的星期日
 myEndDate.setDate(myEndDate.getDate() + (7-myDay) );

 // getFullYear()是年
 // getMonth()+1是月
 // getDate()是日
 // getDay()是星期幾的數字
 
 document.getElementById('txtStartDate').value = myStartDate.getFullYear() + '/' +GetFormatDate((myStartDate.getMonth()+1)) + '/' +GetFormatDate(myStartDate.getDate());
 document.getElementById('txtEndDate').value  = myEndDate.getFullYear() + '/' +GetFormatDate((myEndDate.getMonth()+1)) + '/' + GetFormatDate(myEndDate.getDate());
}


  
// 自己格式化將月份和日期的數字補滿兩位數(如果是一位數的話)
function GetFormatDate(InputValue)

{
  if(InputValue<10)
  {
    InputValue='0'+InputValue;
  }
 
   return InputValue;
}

 

// 算出日期與日期間的差距有沒有超過二個月
function DateDifference()
{
   var StartDate =document.getElementById('txtStrDate').value;
   var EndDate =document.getElementById('txtEndDate').value;
 
   var myStartDate = new Date(StartDate);
   var myEndDate = new Date(EndDate);

   // 天數,86400000是24*60*60*1000,除以86400000就是有幾天
   // 再除以60天就是看有沒有超過2個月
   if ( (((myEndDate - myStartDate)/ 86400000)/60) > 1 )
   {
     return false;
   }
   else
  {
    return true;
  }
}

 

//取得某月份有幾天--版本1
function getDaysOfMonth(inputDate)

{
  var mydate=new Date(inputDate);
  // 先把月份跳成下一個月,這樣setDate(0)就可取得上個月的最後一天,也就是本月有幾天
  mydate.setMonth(mydate.getMonth()+1);
  mydate.setDate(0);
  return mydate.getDate();
}

//取得某月份有幾天--版本2
function getDaysOfMonth(whichYear,whichMonth)

{
   // 先把輸入月份轉成0~11的格式後,月份+1
   var mydate=new Date(whichYear,whichMonth-1,1);
   mydate.setMonth(mydate.getMonth()+1);
  
   // 把月份+1以後的放入下面日期為0的參數裡面,代表到下個月再往前推一天,也就是一個月裡有幾天
   var myResult = new Date(mydate.getFullYear(),mydate.getMonth(),0)
   return myResult.getDate();
}

 

// 日期的加減(算出從某個日期過了6個月是幾月幾號)
function myAdd()
{
  // 月份傳1代表是2月喔,setMonth會看你的日期給的是多少去加30幾天吧
  // 如果是1月31號,用setMonth加一個月的話,會變成3月X號,而不是2月28喔
 
  var myDate = new Date(2010,1,22);
  //如果用下面的這行取得目前的日期的話,在下面的myDate.getMonth()就要+1
  //var myDate = new Date();

  myDate.setMonth(myDate.getMonth()+6);
  var MM = myDate.getMonth();
  var dd  = myDate.getDate();
  if(MM<10)
  {
    MM='0'+MM;
  }
  if(dd<10)
  {
    dd='0'+dd;
  }

  document.getElementById("txtWelkin").value = myDate.getFullYear()+"/"+MM+"/"+dd;
}

welkingunther 發表在 痞客邦 PIXNET 留言(0) 人氣()