日付から曜日を表示したい
現在、HTMLでJavaScriptを用いたホームページを作成しています。
プルダウンリストの日付から閏年に対応しているソースコードを参考にして組んだまでは
良かったのですが、プルダウンリストで選択された年月日から曜日の抽出がうまくいかず悩んでいます。
以下、少しわかりにくいですがイメージです。
2015 年 1 月 1 日 → ○曜日
2016 2 2
2017 3 3
~ ~ ~
2030 12 31
具体的なヒントやソースを頂けないでしょうか? よろしくお願いします。
原状のbodyの中身を書いておきます。
<form name="formDate">
<label>申請日:</label>
<select name="selectYear" onchange="setSelectMonth()"></select> <label>年</label>
<select name="selectMonth" onchange="setSelectDate()"></select> <label>月</label>
<select name="selectDate"></select> <label>日</label>
<select name="selectWeek" onchange="setSelectyear()" onchange="setSelectMonth()" onchange="setSelectDate()"disabled>
<OPTION>日曜日<OPTION>月曜日<OPTION>火曜日<OPTION>水曜日<OPTION>木曜日<OPTION>金曜日<OPTION>土曜日
</select>
</form>
<script type="text/javascript">
<!--初期値設定-->
var Now = new Date();
var NowYear = Now.getFullYear();
var NowMonth = Now.getMonth()+1;
var NowDate = Now.getDate();
var NowWeek = Now.getDay();
<!--閏年-->
function Uruu( Year ){
var uruu =
( Year%400==0 ) ? true :
( Year%100==0 ) ? false :
( Year%4==0 ) ? true : false;
return uruu;
}
<!--年-->
function setSelectYear(){
for(var y=NowYear;y<NowYear+6;y
var select = document.formDate.selectYear;
var option = select.appendChild( document.createElement('option') );
option.value = y;
option.text = y;
option.selected = ( y==NowYear ) ? 'selected' : false;
}
setSelectMonth();
}
setSelectYear();
<!--月-->
function setSelectMonth(){
var Year = document.formDate.selectYear.options[document.formDate.selectYear.selectedIndex].value;
var select = document.formDate.selectMonth;//
while( select.options.length ){
select.removeChild( select.options[0] );
}
for(var m=1;m<=12;m++){
var option = select.appendChild( document.createElement('option') );
option.value = m;
option.text = m;
option.selected =
( Year==NowYear ) ?
( ( m==NowMonth ) ? 'selected' : false ) :
( ( m==1 ) ? 'selected' : false );
option.disabled =
( Year==NowYear ) ?
( ( m<NowMonth ) ? 'disabled' : false ) : false;
}
setSelectDate();
}
<!--日-->
function setSelectDate(){
var Year = document.formDate.selectYear.options[document.formDate.selectYear.selectedIndex].value;
var Month = document.formDate.selectMonth.options[document.formDate.selectMonth.selectedIndex].value;
var days = [31,( Uruu(Year) ? 29 : 28 ),31,30,31,30,31,31,30,31,30,31];
var select = document.formDate.selectDate;
while( select.options.length ){select.removeChild( select.options[0] );}
for(var d=1;d<=days[Month-1];d++){
var option = select.appendChild( document.createElement('option') );
option.value = d;
option.text = d;
option.select =
( Year==NowYear && Month==NowMonth ) ?
( ( d==NowDate ) ? 'selected' : false ) :
( ( d==1 ) ? 'selected' : false );
option.disabled =
( Year==NowYear && Month==NowMonth ) ?
( ( d<NowDate ) ? 'disabled' : false ) : false;
}
}
</script>
お礼
ありがとうございます。