2009年9月3日木曜日

Flash Lite 1.1でカレンダー計算:前の日を求める

prevday.as
// 前の日の日付を計算する
//
// @param a0 ... 西暦年 (例: 2009 )
// @param a1 ... 月 (1?12)
// @param a2 ... 日 (1?31)
//
// @return a0 ... 西暦年 (例: 2009 )
// @return a1 ... 月 (1?12)
// @return a2 ... 日 (1?31)
//
--a2;
if (0 >= a2) {
switch (a1) {
case 1:
a0 -= 1; a1 = 12; a2 = 31;
break;
case 2:
case 4:
case 6:
case 8:
case 9:
case 11:
--a1; a2 = 31;
break;
case 3:
a1 = 2;
if ((a0 % 4 == 0 && a0 % 100 != 0) || (a0 % 400 == 0)) { // 閏年
a2 = 29;
} else {
a2 = 28;
}
break;
case 5:
case 7:
case 10:
case 12:
--a1; a2 = 30;
break;
}
}

0 件のコメント:

コメントを投稿