【JavaScript】查詢某日是星期幾

<SCRIPT LANGUAGE="JavaScript">
<!--
function calculate() {
  month = document.form.month.selectedIndex;
  month = document.form.month.options[month].value;
  day = document.form.day.selectedIndex;
  day = document.form.day.options[day].value;
  year = document.form.year.value;
  //將所選的日期合併 且 轉換成日期格式
  var dob = year + "/" + month + "/" + day;
  var then = new Date(dob);

  //取得 年: 要用getYear()函數, 在此可用 var year=then.getYear();
  //取得 月: 要用getMonth()函數, 在此可用 var month=then.getMonth()+1;
  
  //取得 星期幾
  var theday = then.getDay()+1;
  
  //取得 日
  var date=then.getDate()

  var weekday = new Array(6);
  weekday[1]="星期日";
  weekday[2]="星期一";
  weekday[3]="星期二";
  weekday[4]="星期三";
  weekday[5]="星期四";
  weekday[6]="星期五";
  weekday[7]="星期六";
  //判斷日期合法性,在此用 所選的日取得之日 做比對
  //Ex:2011/6/31 -->  所選的日:31  取得之日:1 (javascript規則)
  //Ex:2011/7/31 -->  所選的日:31  取得之日:31
  if (day != date) alert("抱歉,日期有問題哦");
  else { alert( dob + " 是 " + weekday[theday]); }
}

// -->
</script>

PS: 判斷日期合法性, 可參考 my blog: checkDate函數 使用
if checkDate(年,月,日)== true
{
  alert 正確訊息;
 }else{
  alert 錯誤訊息;
}

部份HTML(參考):
<form name=form>
<table><tr>
<td align=center>西元 <input type=text name=year value="2011" size=4 maxlength=4></td>
<td align=center>
<select name="month">
<option value="" selected>月份
<option value="1">一月
<option value="2">二月
......省略............
<option value="12">十二月
</select>
</td>
<td align=center>
<select name="day">
<option value="" selected>日
<option value="1">01
<option value="2">02
......省略...........
<option value="30">30
<option value="31">31
</select>
</td>

</tr></table><p>
<input type=button value="查詢" onClick="calculate();">
</form>

執行初始畫面:

選擇正確日期:

選擇錯誤日期:



留言

這個網誌中的熱門文章

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

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

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