JavaScript | 記事 |
<HTML><HEAD> <TITLE>日付</TITLE></HEAD> <BODY> <SCRIPT Language="JavaScript"> <!-- kyou = new Date(); alert("今日は" + kyou + "です"); //--> </SCRIPT> </BODY> </HTML> |
new Date()で本日の取り出し 7-1実行 |
JavaScript | 記事 |
<HTML><HEAD> <TITLE>年月日</TITLE></HEAD> <BODY> <SCRIPT Language="JavaScript"> <!-- ar1=new Array("日","月","火","水","木","金","土"); kyou = new Date(); yy = kyou.getFullYear(); mm = kyou.getMonth() + 1; dd = kyou.getDate(); da = ar1[kyou.getDay()]; document.write("今日は" + yy + "年" + mm + "月" + dd + "日("+ da + ")です"); //--> </SCRIPT> </BODY> </HTML> |
曜日は0〜6の数字で返す。月は実際より1少ない。 yy = kyou.getlYear(); で2桁の西暦 7-2実行 |
JavaScript | 記事 |
<HTML><HEAD> <TITLE>時分秒(ミリ秒)</TITLE></HEAD> <BODY> <SCRIPT Language="JavaScript"> <!-- kyou = new Date(); hh = kyou.getHours(); mm = kyou.getMinutes(); ss = kyou.getSeconds(); ms = kyou.getMilliseconds(); document.write( hh + "時" + mm + "分" + ss + "秒("+ ms + "ミリ秒)"); //--> </SCRIPT> </BODY> </HTML> |
1日は(24*60*60*1000)で計算できます 7-3実行 |
JavaScript | 記事 |
<HTML><HEAD> <TITLE>国際協定時の日付</TITLE></HEAD> <BODY> <SCRIPT Language="JavaScript"> <!-- ar1=new Array("日","月","火","水","木","金","土"); kyou = new Date(); yy = kyou.getUTCFullYear(); mm = kyou.getUTCMonth() + 1; dd = kyou.getUTCDate(); da = ar1[kyou.getUTCDay()]; document.write("今日は" + yy + "年" + mm + "月" + dd + "日"+ da + "曜日です"); //--> </SCRIPT> </BODY> </HTML> |
曜日は0〜6の数字で返す。月は実際より1少ない。 ※ 時間及び設定については通常の日付と同様(サンプル省略) 7-4実行 |
JavaScript | 記事 |
<HTML><HEAD> <TITLE>年月日の設定</TITLE></HEAD> <BODY> <SCRIPT Language="JavaScript"> <!-- ar1=new Array("日","月","火","水","木","金","土"); kyou = new Date(); kyou.setFullYear(1999) kyou.setMonth(12); kyou.setDate(31); yy = kyou.getFullYear(); mm = kyou.getMonth() + 1; dd = kyou.getDate(); da = ar1[kyou.getDay()]; document.write("今日は" + yy + "年" + mm + "月" + dd + "日("+ da + ")です"); //--> //--> </SCRIPT> </BODY> </HTML> |
・月の指定は実際の月より1少ない数値を設定 ・設定した値はシステム時計には影響を与えません 7-5実行 |
JavaScript | 記事 |
<HTML><HEAD> <TITLE>時分秒(ミリ秒)の設定</TITLE></HEAD> <BODY> <SCRIPT Language="JavaScript"> <!-- kyou = new Date(); kyou.setHours(8); kyou.setMinutes(29); kyou.setSeconds(59); kyou.setMilliseconds(999); hh = kyou.getHours(); mm = kyou.getMinutes(); ss = kyou.getSeconds(); ms = kyou.getMilliseconds(); document.write( hh + "時" + mm + "分" + ss + "秒("+ ms + "ミリ秒)"); //--> //--> </SCRIPT> </BODY> </HTML> |
7-6実行 |
JavaScript | 記事 |
<HTML><HEAD> <TITLE>経過ミリ秒</TITLE></HEAD> <BODY> <SCRIPT Language="JavaScript"> <!-- kyou = new Date(); ms = kyou.getTime(); document.write("スタート時間 " + ms + "ミリ秒<br>"); for(i=1;i<10000;i++); //--> </SCRIPT> <SCRIPT Language="JavaScript"> <!-- kyou = new Date(); ms1 = kyou.getTime(); document.write("終了の時間 " + ms1 + "ミリ秒<br><br>"); ms2= ms1-ms; document.write( "実行時間は 「" + ms2 + "」ミリ秒でした"); //--> </SCRIPT> </BODY> </HTML> |
このサンプルを応用してJavaScriptの処理時間の測定を できます 7-7実行 |
JavaScript | 記事 |
<HTML><HEAD> <TITLE>誕生日までの日数</TITLE> <SCRIPT Language="JavaScript"> <!-- var byyyy=1944 //年を4桁で記入 var bmm=04 //月 var bdd=23 //日付 today = new Date(); kariyer =(new Date().getFullYear()); kariday = new Date(kariyer, bmm-1,bdd,"23","59"); if(kariday < today) { chkyear = kariyer+1} else { chkyear = kariyer} toshi = chkyear - byyyy nxtbday = new Date(chkyear, bmm-1,bdd) zikan = nxtbday - today hisuu = Math.ceil(zikan/86400000) if(hisuu == 0) { msg = "!!今日は" + toshi + "歳の誕生日で〜す!!" } else { msg = "あと「"+hisuu+"」日で「"+toshi+"歳」の誕生日です(^_^)" } //--> </SCRIPT> </HEAD> <BODY> <SCRIPT Language="JavaScript"> <!-- document.write(msg) //--> </SCRIPT> </BODY> </HTML> |
誕生日までの日数を計算した例 ・同じ年内の誕生日が過ぎているか未かの判断が必要 (本例の過ぎている場合: chkyear = kariyer+1) ・本例では日数がミリ秒で出るので日数に直してある (1000mm x 60秒 x 60分 x 24H → 86400000) 7-8実行 ・Math.cei()は少数点以下を切り上げた整数を返す 「以下参考」 Math.floor() → 少数点以下を切り下げた整数を返す Math.round() → 四捨五入 Math.max() → 2個の値のうち大きい方を返す Math.min() → 2個の値のうち小さい方を返す Math.random() → 乱数を返す Math.con() → コサインを返す Math.sin() → サインを返す Math.tan() → タンジェントを返す Math.acos() → アークコサインを返す Math.asin() → アークサインを返す Math.atan() → アークタンジェントを返す Math.abs() → 絶対値を返す(負数の場合整数になる) |
JavaScript | 記事 |
<HTML><HEAD> <TITLE>ウエイトタイミング1</TITLE> <SCRIPT Language="JavaScript"> <!-- function hyouzi(){ if (document.layers){ document["test1"].left =-200; document["test1"].top =-200; } if (document.all){ window["test1"].style.pixelLeft =-200; window["test1"].style.pixelTop =-200; } } //--> </SCRIPT> </HEAD> <BODY bgcolor=#FFFFEE> <div id="test1" style="position:absolute;left:300px;top:200px;"> この文字が「消去」クリック後、指定した時間で消える</div> <br><br> <FORM NAME="Myfm"> <INPUT TYPE="button" VALUE="消去" onClick='setTimeout("hyouzi()",Myfm.txt1.value)';> <INPUT TYPE="text" NAME="txt1" SIZE=20> ←消去までの時間指定(1秒:1000)<br><br> <br><br> <INPUT type="button" value="再表示" onClick="location.reload()"><br><br> </FORM> </BODY> </HTML> |
Scriptを遅らして実行する例です。 7-9実行 「以下参考」 setTimeout("hyouzi()",2000) は2000mm後(2秒)に"hyouzi()"1回呼び出す clearTimeout(timerID) で上記で指定したタイマーを解除 -------------------------------------- setInterval("hyouzi()",2000) は2000mm間隔(2秒)で"hyouzi()"呼び出す clearInterval(timerID) で上記で指定したタイマーを解除 |
JavaScript | 記事 |
<HTML><HEAD> <TITLE>ウエイトタイミング1</TITLE> <SCRIPT Language="JavaScript"> <!-- function hyouzi(){ dtime=Myfm.txt1.value; timck = (new Date()).getTime() + parseInt(dtime) do {;} while((new Date()) < timck) ; if (document.layers){ document["test1"].left =-200; document["test1"].top =-200; } if (document.all){ window["test1"].style.pixelLeft =-200; window["test1"].style.pixelTop =-200; } } } //--> </SCRIPT> </HEAD> <BODY bgcolor=#FFFFEE> <div id="test1" style="position:absolute;left:300px;top:200px;"> この文字が「消去」クリック後、指定した時間で消える</div> <br><br> <FORM NAME="Myfm"> <INPUT TYPE="button" VALUE="消去" onClick='setTimeout("hyouzi()",Myfm.txt1.value)';> <INPUT TYPE="text" NAME="txt1" SIZE=20> ←消去までの時間指定(1秒:1000)<br><br> <br><br> <INPUT type="button" value="再表示" onClick="location.reload()"><br><br> </FORM> </BODY> </HTML> |
通常Scriptを遅らして実行したい場合、前項の方法で 問題ないが、setTimeout("**",100)をオブジェクト内 へ記述した場合、タイミングを取らないで実行してしまう。 そんな場合は本例のようにシステム時間を利用して タイミングを取ることが出来ます。 7-10実行 |