この章ではDateオブジェクトについて説明します。
Dateオブジェクトは、日付や時間などを扱うためのオブジェクトです(以下の表はクリックすると大きくなります)。
Dateオブジェクトはオブジェクトを生成する時にはコンストラクタを使う必要があります。
コンストラクタについては説明済みですが、オブジェクトを作成する際に値を初期化する機能のことです。
以下にオブジェクトを作成する際の例を示します。 =>コンストラクタの中身がカラの場合は現在の時刻と日付になります。 => コンストラクタに1970年1月1日0時0分0秒からの経過をミリ秒で指定する方法です。
この例の意味は1970年1月1日0時0分0秒から12664939ミリ秒経過したと言う意味です。 =>コンストラクタにダブルクォートで囲んだ日付文字列で指定する方法です。 =>日付と時間に関する項目を「,」で区切って指定する方法です。
この形式の場合、月は0から11で指定します。 =>末尾に999とありますが、ここの項目はミリ秒です。ミリ秒も加えることが出来ます。
では例を見てみましょう。 結果は と今現在のデータが出力されます。
では内容を詳しく見てみましょう。 =>Dateのコンストラクタはカラにして、オブジェクトを作成します。
=> getFullYearメソッドで年のデータを西暦で取得します。
=>getMonthメソッドの戻り値は0から11で返されるので(1から12が返されるのではありません)、今現在の月を取得しようと思えばその返された値に1を足してください。
つまり返される値はなので、1を足せば現在の月になります
=>getDateメソッドは現在の日を1~31の数で取得できます。
=>getDayメソッドは今日の曜日を0から6の数値で返します。
日曜日の0から始まって土曜日が6と言う範囲です。
ですので、このまま返されても、数字が返されるだけなので何曜日か解りません。
そこで下のように配列を作ります。 =>添え字0は日で、添え字6が土というように配列を作って、getDayメソッドの返される値に対応させます。
返される値は日曜日が0から始まって土曜日が6でしたね。
=>getDayメソッドで返された数値がweekに入っているので、それを配列の添え字にセットすれば曜日を取得出来ます。
=>getHoursメソッドは今現在の時を0から23の数値で取得します。
=>getMinutesメソッドは今現在の分を0から59で取得します。
=>getSecondsメソッドは今現在の秒を0から59で取得します。
=>getMillisecondsメソッドは今現在のミリ秒を0から999で取得します。
後は以下のように出力すると今現在の日付や時間が表示されます。 次は世界協定時で現在のデータを取得します。 世界協定時とは「世界で時刻を記録する時に使われている標準の時刻」です。
日本との時差は9時間です。
世界協定時の場合はUTCという文字が入っているメソッドを使います。
結果は以下の通りです。 次はgetTimeメソッドとgetTimezoneOffsetメソッドの例を説明します。
では例をみてみましょう。
=>getTimeメソッドは1970年1月1日の午前0時から現在の時刻までをミリ秒数で返す。
=>getTimezoneOffsetメソッドはグリニッジ標準時とローカル時間の差を分で返す。
差は9時間なので-540分を返します。
結果は上から以下の通り出力されます。
次はUTC メソッドとparseメソッドについて説明します。
では例をみてみましょう。 UTCメソッドは1970年1月1日午前0時から「指定の年、月、日、時、分、秒、ミリ秒の値」までを、ミリ秒に変換します。 parseメソッドは日付文字列を1970年1月1日の午前0時からのミリ秒数で返します。
結果は上から以下の通り出力します。
次の例ではsetメソッドでデータをセットしています。 a.setFullYear(1999);
=>西暦を設定します。
a.setMonth(3);
=>月を設定します。
a.setDate(21);
=>日を設定します。
a.setHours(20);
=>時を設定します。
a.setMinutes(22);
=>分を設定します。
a.setSeconds(2);
=>秒を設定します。
a.setMilliseconds(345);
=>ミリ秒を設定します。
=>世界協定時を文字列に変換します。
=>Wed, 21 Apr 1999 11:22:02 GMT
=>ローカル時間を文字列に変換します。
=> 1999/4/21 20:22:02
=>ローカルの日付部分を文字列として返します。
=> 1999/4/21
=>ローカルの時刻部分を文字列に変換します。
=>20:22:02
=>日付を文字列に変換します。
=>Wed Apr 21 1999 20:22:02 GMT+0900 (東京 (標準時))
では次の例を見てみましょう。 toUTCStringメソッドは世界協定時を文字列に変換します。
=>何も日付をセットしていない状態でtoUTCStringメソッドを出力しています。
結果はです。
次は世界協定時の日時をセットするメソッドについて説明します。以下が主要なメソッドです。 日付や時刻をセットしたのが以下の箇所です。
引数には上の表にある数値の範囲で設定します。 出力結果は以下の通りです。
次はsetTimeメソッドについて説明します。
では例をみてみましょう。 setTimeメソッドは1970年1月1日午前0時からの経過ミリ秒を設定するメソッドです。
のようにカッコの中にミリ秒形式で書きます。
このセットしたミリ秒を出力するにはtoStringメソッドを使います。
結果は以下の通りです。
次はvalueOfメソッドについて説明します。 valueOfメソッドは1970年1月1日午前0時からの経過をミリ秒形式で返します。
結果は以下の通りです。 今現在は1970年1月1日午前0時から1378179514776ミリ秒経っていると言うことです。
次は日付や時間のデータを操作する方法について説明します。
例えば2時間進める、4年戻すなどの操作を行います。
では例をみてみましょう。 結果は以下の通りです。 =>今の年から4年引きたい場合は「-4」と記述します。
=>時間を2時間進めたい場合は「+2」と記述します。
このように加算減算して日付や時間のデータを操作することが出来ます。