ここでは、JavaScript デジタル&アナログ時計サンプルの内、リアルタイムの日付時刻表示と訪問日時、画面更新(リフレッシュ)時などその時点の日時を表示する2通りのデジタル時計の具体的な作り方を見ていきましょう。
ECMAScript / ECMA-262 Edition 5.1ベースのJavaScript
オブジェクト指向 / オブジェクトと種類 / プロパティ / インスタンス
Globalオブジェクト
|_ Arrayオブジェクト
|_ Booleanオブジェクト
|_ Dateオブジェクト
|_ ...
プロトタイプベースのオブジェクト指向言語であるJavaScriptでは、プロパティと値のセットの集合であるオブジェクトというものを中心に手順を考えていきますが、各種あるオブジェクトの中で日付時刻を扱う為にDateオブジェクトというオブジェクトがあるのでこれを利用します。
Dateオブジェクト
|_ プロパティ - メソッド
|_ プロパティ - 値
|_ prototypeプロパティ
| |_ プロパティ - メソッド
| |_ プロパティ - 値
| |_ ...
|_ ...
JavaScriptでは、プロパティとして持つ関数をメソッドと呼びますが、Dateオブジェクトには、それ自身が持つメソッドとDateオブジェクトのプロパティの1つであるprototypeオブジェクトが持つメソッドがあり、prototypeは、プロパティでありながら、更にプロパティを持つのでオブジェクトでもあります。
各種プログラム言語やスクリプト言語で時間を求める際、その基本として多くの場合、1970年01月01日 00時00分00秒を基準に経過したミリ秒を取得して加工することが一般的になっており、冒頭に示したコードサンプルもそれを前提としています。
日本の場合の出力書式例
1. toLocaleString メソッド
|_ 2000年7月1日 10:10:05
2. toLocaleDateString メソッド
|_ 2000年7月1日
3. toLocaleTimeString メソッド
|_ 10:10:05
基本的に 1 は、2 と 3 を連結した日付文字列
尚、もっと簡単に表示用のわかりやすい日付時刻文字列が必要な場合、幸いJavaScriptには、仕様上、その国や地域で利用される一般的な書式の日付時刻文字列を返すことが期待されるこのようなメソッドを利用する方法もあり、実装依存ではありますが、それなりの結果を取得することが可能となっています。
よって、これら文字列で十分であれば、これを利用し、そうでなければ、後述しますが、他のメソッドから取得したものをそのまま利用するか、これら、または、他のメソッドから取得した日付文字列やミリ秒を利用して出力前や出力時に加工するという方法をとります。
尚、下記リンクは、多くの場合、ページ情報量の過多を回避する為、場合によって更に章、節、句ごとに、任意に細分化し、ネストしている部分があります。