Date クラス
ここで説明する*1 Dateクラスは年、月、日、時、秒などの時間に関係するオブジェクトを生成してくれます。(JavaScriptでも作成できますが、ここではFlashで作りましょう。)時計を作ったり、夕方と昼には違うFlashを見せたい時、曜日によってメッセージを変えたりなど用途は様々です。
Date クラスは皆さんがFlash Playerを実行している*2 OS、又は世界標準時(UTC)を基準として日時等の値を調べます。OSを基準とする場合は自分のPCの時間がずれていたらそのまま反映されます。最後にDateクラスのメソッドを紹介しますが、世界標準時を基準に値を返すときに使うメソッドにはUTCと付いていますからわかりやすいと思います。
*1 Date(デイト、デート)
*2 OS: オペレーティングシステム Win Mac Linux など
ここから先はFlashのデジタル時計(上記の時計と同じもの)を作りながら説明していきます。
デジタル時計の作り方
始めに時計のベースとなるムービークリップを作ります。作成したらそのムービクリップを選択してダブルクリックして、1つ階層が下へ下がった状態にしてください。
そこにダイナミックテキストを右のswfファイルと同じように3つ並べてください。それぞれのダイナミックテキストの変数名は左から順に、zikan
hun byou と名付けてください。
今度は通常の階層に戻った状態にしてください。それから1か2の下記のスクリプトを最初に作ったムービークリップを選択してF9 Keyを押して記述してください。 記述したらプレビューで確認してみてください。パソコンの時計と同じ時間が表示されます。今回重要なのは上記のスクリプトなので、その説明をします。
1.
型指定なし
onClipEvent (enterFrame) {
Clock = new Date();
this.zikan = Clock.getHours();
this.hun = Clock.getMinutes();
this.byou = Clock.getSeconds();
}
2. 型指定あり (本当は下のスクリプトの書き方の方がいいと思いますが、難しいと思う方は1の型指定なしのスクリプトを理解できるようになってから2の型指定ありの記述方法を覚えてください。
onClipEvent (enterFrame) { var Clock:Date = new Date(); var zikan:Number = Clock.getHours(); var hun:Number = Clock.getMinutes(); var byou:Number = Clock.getSeconds(); }
変数 Clock にはDateが返るので指定する型(type)はDate。時、分、秒は全て数値なのでNumber型で指定。
時間・分・秒の取得
onClipEvent (enterFrame) {
Clock = new Date();
this.zikan = Clock.getHours();
this.hun = Clock.getMinutes();
this.byou = Clock.getSeconds();
}
onClipEvent (enterFrame)
時計のムービクリップが再生するたびに
Clock = new Date();
Clock という新しいDateの部品を作る。※ コンストラクタを実行してオブジェクトを作ります。
this.zikan = Clock.getHours();
getHours();メソッドを使用して、zikan という変数にローカル時間に基づく時刻を返します。
this.hun = Clock.getMinutes();
getMinutes();メソッドを使用して、hun という変数にローカル時間に基づく分を返します。
this.byou = Clock.getSeconds() ;
getSeconds();メソッドを使用して、byou という変数にローカル時間に基づく秒を返します。
コンストラクタについて
※Math クラス の学習で紹介したMath クラスはクラスの中でもトップレベルクラスに属しています。トップレベルのクラスはそのままメソッドやプロパティを使用することができましたが、ここで紹介している Date クラス は最初にnew Date(); と書いてあげないとメソッドを使用する事ができません。これをコンストラクタの実行といいます。クラスの中にもレベルがあるのです。例えば Array クラス にもnew使用しています。Arrayクラスもオブジェクトを生成するのにコンストラクタを使用しています。
パラメータ
year 0 〜 99 の値は 1900 〜 1999 を示します。それ以外の年は、すべて 4 桁で指定する必要があります。
month 0 (1 月) 〜 11 (12 月) の整数。 1だと2月になります。
date 1 〜 31 の整数。このパラメータはオプションです。
hour 0 (0 時) 〜 23 (午後 11 時) の整数。
minute 0 〜 59 の整数。このパラメータはオプションです。
millisecond 0 〜 999 の整数。このパラメータはオプションです。
Date クラスのメソッド一覧
ローカル時間に基づくとはOSを基準にして値を返すの意味。
メソッド
説明
Date.getDate()
ローカル時間に基づく月内の日付を返します。
Date.getDay()
ローカル時間に基づく週内の曜日を返します。
Date.getFullYear()
ローカル時間に基づく 4 桁の年を返します。
Date.getHours()
ローカル時間に基づく時刻を返します。
Date.getMilliseconds()
ローカル時間に基づくミリ秒を返します。
Date.getMinutes()
ローカル時間に基づく分を返します。
Date.getMonth()
ローカル時間に基づく月を返します。
Date.getSeconds()
ローカル時間に基づく秒を返します。
Date.getTime()
1970 年 1 月 1 日午前 0 時 (世界時) からのミリ秒数を返します。
Date.getTimezoneOffset()
コンピュータのローカル時間と世界時の差 (分単位) を返します。
Date.getUTCDate()
世界時に基づく月内の日付を返します。
Date.getUTCDay()
世界時に基づく週内の曜日を返します。
Date.getUTCFullYear()
世界時に基づく 4 桁の年を返します。
Date.getUTCHours()
世界時に基づく時刻を返します。
Date.getUTCMilliseconds()
世界時に基づくミリ秒を返します。
Date.getUTCMinutes()
世界時に基づく分を返します。
Date.getUTCMonth()
世界時に基づく月を返します。
Date.getUTCSeconds()
世界時に基づく秒を返します。
Date.getYear()
世界時に基づく年を返します。
Date.setDate()
ローカル時間に基づく月内の日付を設定します。新しい時間をミリ秒で返します。
Date.setFullYear()
ローカル時間に基づく 4 桁の年を設定します。新しい時間をミリ秒で返します。
Date.setHours()
ローカル時間に基づく時刻を設定します。新しい時間をミリ秒で返します。
Date.setMilliseconds()
ローカル時間に基づくミリ秒を設定します。新しい時間をミリ秒で返します。
Date.setMinutes()
ローカル時間に基づく分を設定します。新しい時間をミリ秒で返します。
Date.setMonth()
ローカル時間に基づく月を設定します。新しい時間をミリ秒で返します。
Date.setSeconds()
ローカル時間に基づく秒を設定します。新しい時間をミリ秒で返します。
Date.setTime()
日付をミリ秒で設定します。新しい時間をミリ秒で返します。
Date.setUTCDate()
世界時に基づく日付を設定します。新しい時間をミリ秒で返します。
Date.setUTCFullYear()
世界時に基づく年を設定します。新しい時間をミリ秒で返します。
Date.setUTCHours()
世界時に基づく時刻を設定します。新しい時間をミリ秒で返します。
Date.setUTCMilliseconds()
世界時に基づくミリ秒を設定します。新しい時間をミリ秒で返します。
Date.setUTCMinutes()
世界時に基づく分を設定します。新しい時間をミリ秒で返します。
Date.setUTCMonth()
世界時に基づく月を設定します。新しい時間をミリ秒で返します。
Date.setUTCSeconds()
世界時に基づく秒を設定します。新しい時間をミリ秒で返します。
Date.setYear()
ローカル時間に基づく年を設定します。
Date.toString()
指定した Date オブジェクト内に格納されている日付と時刻をストリングとして返します。
Date.UTC()
1970 年 1 月 1 日 0 時の世界時から指定された時刻までのミリ秒数を返します。