【JavaScript】日期相差幾天

<script language=javascript>
function Date_substr()
{
    //定義起始 年 月 日
    var yy_from=document.form1.from_year1.value;
    var mm_from=document.form1.from_month1.value;
    var dd_from=document.form1.from_day1.value;

    //定義結束 年 月 日
    var yy_to=document.form1.to_year1.value;
    var mm_to=document.form1.to_month1.value;
    var dd_to=document.form1.to_day1.value;

alert('相差 '+ (DateDifference(yy_from,mm_from,dd_from,yy_to,mm_to,dd_to))+'天');
}

// 算出日期與日期間的差距有幾天
function DateDifference(y1,m1,d1,y2,m2,d2)
{
   var StartDate = y1 + "/" + m1 + "/" + d1;
   var EndDate =  y2 + "/" + m2 + "/" + d2;
   var myStartDate = new Date(StartDate);
   var myEndDate = new Date(EndDate);

   // 天數,86400000是24*60*60*1000,除以86400000就是有幾天
     return (myEndDate - myStartDate)/ 86400000 ;

}
</script>

部分HTML:
<form action="" method="post" name="form1">
從 民國 <input name="from_year1" type="text" size="5" maxlength="3"> 年
   <input name="from_month1" type="text" size="5" maxlength="2"> 月
   <input name="from_day1" type="text" size="5" maxlength="2"> 日
<br/>至
民國 <input name="to_year1" type="text" size="5" maxlength="3"> 年
   <input name="to_month1" type="text" size="5" maxlength="2"> 月
   <input name="to_day1" type="text" size="5" maxlength="2"> 日
<br/>
<br/>
<input name="" type="button" onClick="Date_substr();" value="日期相差天數">
</form>

PS: 判斷日期合法性, 可參考 my blog: checkDate函數 使用

執行初始畫面1:

執行初始畫面2:

參考資料 :
http://welkingunther.pixnet.net/blog/post/32084577-(javascript)%E6%97%A5%E6%9C%9F%E8%99%95%E7%90%86

留言

這個網誌中的熱門文章

【ASP】日期轉換(西元<-->民國)

【VB】使用NPOI元件來匯出Excel--DataTableToExcel

【SQL】符號切割字串變成多欄