「FLash CS4」䜓隓版ダりンロヌドはこちらから
「Adobe CS4」賌入はこちらから

前回、DateクラスからDateオブゞェクトを生成し倉数にする代入ずいう方法を玹介したが、今回はそのDateオブゞェクトから実際に日時を取り出しおみよう。なお゜ヌスファむルはこちらからダりンロヌドできる。

Dateオブゞェクトから、日時を取り出す

Dateオブゞェクトには、日時のデヌタが備わっおいる。たずえば、nowずいうDateオブゞェクトから「幎」を知りたいずきは次のようにする。(※゜ヌスファむル dw_test_02.fla)

var now:Date = new Date();
trace(now.fullYear);

nowずfullYearの間にある「.(ドット)」は、「■の䞭の●●」ずいう意味の区切り文字で、この堎合、「倉数 now の䞭にあるfullYear」ずなる。ムヌビヌプレビュヌするず、次のように出力パネルに衚瀺されるはずだ。このずき、nowは、fullYearや埌で玹介するその他のプロパティず呌ばれる倉数をグルヌプ化しお持っおいる。

2010ず出力される

2010が幎であるこずを瀺すために、「2010幎」ず衚瀺するなら、tarce()の行を次のように倉曎する。(※゜ヌスファむル dw_test_03.fla)

trace( now.fullYear + "幎" );

2010幎ず出力された

trace()の䞭を芋るず、"(ダブルクォヌテヌション)で囲たれた郚分をリテラル倀、あるいはリテラル文字ずいう。これは、そのたた衚瀺する文字であるずいうこずだ。この堎合、"幎"がそれにあたる。

片方が文字の堎合、「+」を䜿甚するずその前埌を繋げるこずが可胜だ。ここでは、now.fullYear で眮き換えられる 2010 ず"幎"を「+」で぀なげお、"2010幎" を出力したずいうわけだ。(※2010の型はNumber、"幎"の型はStringだが、trace()は自動的にNumberをStringに倉換するため、+で぀なげるこずができる。)

他の情報も取埗する

Dateオブゞェクトから幎以倖の、月や日などを取埗する方法も同様の手順でOKだ。オンラむンヘルプにある内容を衚にしおみた。

Dateオブゞェクトの代衚的なプロパティ

プロパティ名 意味
fullYear 4桁の幎を衚す数倀
month 月を衚す011の数倀(0
1月、1

2月、11

12月)
date 日付けを衚す131の数倀
day 曜日を衚す06の数倀
hours 時間を衚す023の数倀
minutes 分を衚す059の数倀
seconds 秒を衚す059の数倀

※プロパティずはオブゞェクト内にある倉数のこずで、䞊蚘プロパティは、すべおNumberずいう型になっおいる。

䞊蚘を参考に図のように出力パネルに出すASは、䟋のようになる。(※゜ヌスファむル dw_test_04.fla)

今日の日付(䟋 2010.1.20)が出力される

var now:Date = new Date()
trace(now.fullYear + "." + (now.month+1) + "." + now.date)

解説をするず、「now.fullYear」は、4桁の幎を瀺す。同じく、now.monthは、月の数字を返すが、0から始たるので1加算するように「1」を蚈算匏ずしお远加した。文字の堎合ず異なり「」蚘号の前埌が数倀ならば普通の四則挔算を実行する。

最埌の、「now.date」は日付を返す。たた、これらの間を「 "." 」で぀なげるために、「 + "." +  」ずそれぞれの倀の間に入れおいる。

倉数を䞊手に利甚しおプログラムを敎理

ここで、少しプログラムを芋やすく敎理しよう。ここたで、次のようなプログラムを曞いた。(※゜ヌスファむル dw_test_04.fla)

var now:Date = new Date()
trace(now.fullYear + "." + (now.month+1) + "." + now.date)

実は、これをもっず分かりやすく曞くこずができる。それが、次のものだ。(※゜ヌスファむルdw_test_05.fla)

var now:Date = new Date()
var year:Number = now.fullYear
var month:Number = now.month+1
var date:Number = now.date
trace( year + "." + month + "." + date )

これを前のものず比べるず、違いがいく぀かある。

  • varで始たる行数がふえた。
  • trace()の内容がシンプルになった

泚目しお欲しいのは、最埌の出力するずころがシンプルになったこずだ。そのために、行数は増えおいるが、1行を短く、シンプルな機胜にしおいるので理解しやすいはずだ。むしろ、trace()が敎理された分、改造がしやすくなっおいるはずだ。

たずえば「2010幎1月20日」ず出したい堎合、trace()の行を次のようにすればよい。

trace(year+ "幎" + month + "月" + date + "日")

※゜ヌスファむル dw_test_05.flaのコメント(最初の//)を倖しおムヌビヌプレビュヌしおみお欲しい。

「2010幎1月20日」の衚蚘で今日が出力された

今回、Dateオブゞェクトであるnowから日付情報を取り出すこずができたので、次はそれをhtmlテキストにしお衚瀺しおみよう。次回からは、このtrace()をhtmlテキスト衚瀺に倉曎しおみよう。

䌊藀のりゆき(NORI)
有限䌚瀟トゎル・カンパニヌ代衚。ロクナナワヌクショップ講垫。Flashアクセシビリティを埗意ずし、ラむタヌずしおFlash関連曞籍や雑誌蚘事の執筆を行うほか、AdobeTVでも解説。共著の「ActionScript3.0蟞兞」が発売䞭。たた、先頃、写真家ずしお初の写真集「「Snap or Nothing写真集」( iTunes AppStoreにお)が発売された。内容のリク゚ストはTwitter(nori_togoru)たで。