堀北真希うさぎ
主な作品
人気女優をモデルにした制作者のオリジナルキャラクタを用いたイラストの一例とアニメーション動画

ページ案内

日付を表示させる(国内版)。

HTML文書に現在の日時を表示するスクリプトです。

日付を表示させる(国内版)・目次。

日付を表示させるスクリプトのサンプル。

スクリプトを実行できる環境なら、以下にこのページを開いた日時が表示されている筈です。対応していない環境では、何も表示されないでしょう。

日付を表示させるスクリプトのソース。

日付を表示させる国内版スクリプト「DATE.js」は以下の通りです。

now=new Date();
yr=(now.getYear()<1000)? now.getYear()-88:now.getYear()-1988;
mo=now.getMonth()+1;
dy=now.getDate();
hr=now.getHours();
mt=now.getMinutes();
sd=now.getSeconds();
if (yr<10) { yr="0"+yr; }
if (mo<10) { mo="0"+mo; }
if (dy<10) { dy="0"+dy; }
if (hr<10) { hr="0"+hr; }
if (mt<10) { mt="0"+mt; }
if (sd<10) { sd="0"+sd; }
document.write('<p>現在、<em>平成'+yr+'年'+mo+'月'+dy+'日 '+hr+'時'+mt+'分'+sd+'秒</em>です。</p>');

スクリプトの処理の流れ。

以下、順番に解説してみます。

1. 日時を取得する。

1.1. 現在の日時情報を取得する。

以下の一行目の処理で、現在の日時情報を取得します。

now=new Date();

具体的には、nowという変数に新しいDate型のオブジェクトを代入しています。Date型のオブジェクトには、日時に関する情報が入ります。「new Date()」は括弧内で特に指定しない場合、実行時の日時を表わす情報を与えます。

1.2. 現在の日時情報から年,月,日などの値を取得する。

以下の部分では、Date型オブジェクトnowから年,月,日,時,分および秒の値をそれぞれ取り出しております。

yr=(now.getYear()<1000)? now.getYear()-88:now.getYear()-1988;
mo=now.getMonth()+1;
dy=now.getDate();
hr=now.getHours();
mt=now.getMinutes();
sd=now.getSeconds();

オブジェクト変数から値をメソッドを通じて取り出す場合は

とすることで左辺の変数に特定の値を得ることが出来ます。

年号と月を取得する際の注意点。

ところで、年号と月は単純に代入する訳には行きません。

年号の場合、ブラウザによりgetYear()メソッドには以下のような違いがあります。

このため、条件演算子で年号が四桁未満の場合は1900を加算した値を、そうでなければそのものの値を取得します。

この事を考えると、西暦年号を得るには以下のようにする必要があります。

yr=(now.getYear()<1000)? now.getYear()+1900:now.getYear();

今回は西暦ではなく和暦に変換するので、更に1988を差引いた値となります。

すなわち、以下のようにして和暦に換算します。

yr=(now.getYear()<1000)? now.getYear()-88:now.getYear()-1988;

一方月は0から始まった値となっており、予め1を足しておきます。

2. 各値を二桁化する。

この後に続く以下の処理は、年月日と時分秒を二桁に統一する処理です。

if (yr<10) { yr="0"+yr; }
if (mo<10) { mo="0"+mo; }
if (dy<10) { dy="0"+dy; }
if (hr<10) { hr="0"+hr; }
if (mt<10) { mt="0"+mt; }
if (sd<10) { sd="0"+sd; }

具体的には、いずれも10より値が小さければ当該変数の前に「"0"」の文字列を連結すると言うものです。つまり、一桁の数値なら前に「0」を付けて二桁にするというものです。

文字列を連結するには「文字列1 + 文字列2」としてやります。

JAVAスクリプトでは数値変数を文字列とみなして処理する事も可能になっております。

3. 結果をHTML文書に埋め込む。

最後の処理で結果をHTML文書に埋め込みます。

document.write('<p>現在、<em>平成'+yr+'年'+mo+'月'+dy+'日 '+hr+'時'+mt+'分'+sd+'秒</em>です。</p>');

すなわち、「<p>現在、<em>平成○年○月○日 ○時○分○秒</em>です。</p>」というHTMLをHTML文書の当該箇所に埋め込みます。

この場合、括弧内にはいくつもの文字列が連結されて出力される事になります。また、HTMLの要素タグも一緒に出力されているのが分かりますね。

尚、文字列定数は文字列を「"」か「'」で囲む事で明示します。

しらぎくのウェブサイト作成入門サイトマップ



marguerite.site@gmail.com