FlexなどのACTIONSCRIPT系の言語をやってると意外な事が出来ない事に困惑する。
例えば、今日から一週間分のカレンダーを作ると言う時、今日の日付はわかるが、明日は、二日後は何日?と言うのをすぐに計算する関数が無い。
Adobeの日付に関するページを読むと方法が書いてあった。
結局、こういう定数を一旦設定してそれを加算して利用するらしい。
public static const millisecondsPerDay:int = 1000 * 60 * 60 * 24;
一週間のカレンダーを作成するなら
var day:Array = new Array(“日”,”月”,”火”,”水”,”木”,”金”,”土”);
var today:Date;
for(var c:int=0;c<7;c++)
{
today = new Date();
today = new Date(today.getTime() + (c * millisecondsPerDay));
[ 設定したい対象]=String(today.month+1)+”月”+String(today.date)+”日(“+day[today.getDay()]+”)”;
}
となる様だ。
又、例えば、二つの日付の差が何日あるのか?
と言う場合は、何れの日付も、一端1970 年 1 月 1 日(UTC)からの経過ミリ秒数として取得するgetTime() メソッドを使用してミリ秒へ変換して差を計算して、その後、先のmillisecondsPerDayで割ると日数が計算できる。
あ~面倒臭い。