7.日付関連

7−1.日付
JavaScript 記事
<HTML><HEAD>
<TITLE>日付</TITLE></HEAD>
<BODY>
<SCRIPT Language="JavaScript">
<!--
kyou = new Date();
alert("今日は" + kyou + "です");
//-->
</SCRIPT>
</BODY>
</HTML>
new Date()で本日の取り出し
 
7-1実行
 


7−2.年月日(曜日)の取得
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実行
 


7−3.時分秒(ミリ秒)
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実行
 


7−4.国際協定時の日付
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実行
 


7−5.年月日の設定
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実行
 


7−6時分秒(ミリ秒)の設定
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実行
 


7−7設定からの経過ミリ秒
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実行
 


7−8誕生日までの日数
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() → 絶対値を返す(負数の場合整数になる)
 


7−9 Scriptを遅らして実行1
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)
で上記で指定したタイマーを解除
 
 
 
 
 
 
 
 

7−10 Scriptを遅らして実行2
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実行
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 



【HOME】 【基礎編へ戻る】