Saturday, July 20, 2013

[JavaScript] 日期時間的比較 (Comparing Dates)

有時我們會在表單中放入文字欄位,讓使用者輸入日期時間,如果我們希望輸入的值在一個範圍之內,就必須用javascript來限制,做法很簡單...
 theForm = document.form1;  var arrEndDay = new Array();  arrEndDay = theForm.txtEnddte.value.split("-");  if(arrEndDay.length != 3){   alert('結束日期請使用正確格式(範例:2013-07-01)');   return false;  }  var endDay = new Date(arrEndDay[0], parseInt(arrEndDay[1], 10) - 1, parseInt(arrEndDay[2], 10));  var d = new Date();  var today = new Date(d.getFullYear(), d.getMonth(), d.getDate());  if(endDay.getTime() >= today.getTime()){   alert('日期需小於今天日期。');   return false;  }
說明:
我們設計表單(form1)讓使用者填入日期時間於name為txtEnddte的文字欄位中,取到值後,把值用split去分割為陣列,丟到Date函式中轉換成時間物件,在利用getTime()方法取到mktime,取今天日期的做法也是一樣,最後再用mktime來比較時間先後就可以。

備註:
javascript 的 Date() 的第二個參數(月份) 是0~11,所以,如果我們帶入1~12的月份,則需要 - 1 。

參考 W3官網 這裡



No comments:

Post a Comment