//----------------------------------------------------------------------
// 指定日付を含む月のカレンダーを表示
//----------------------------------------------------------------------
// 04/02/06 なかた@大久保町.明石 さんの問題修正パッチを適用
//----------------------------------------------------------------------
function calendar(date)
{
var month = date.getMonth();
//var days = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]; // 各月の終わりの日
var last = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)[ month - 1];
// 閏年の処理
var year = date.getYear();
if( last == 28 && ((year % 4 == 0 && year % 100 != 0) || (year % 400) == 0) )
last = 29;
var today = date.getDay(); // 指定日付
var weekday = dateTime( year, month, 1 ).getDayOfWeek(); // 1日の曜日
// ヘッダの部分を表示
printf(" - %d年 %d月 -\n", year, month);
printf("Sun Mon Tue Wed Thu Fri Sat\n");
for(var i = 1; i < weekday; ++i)
write(" ");
// 各日にちを並べて出力
for(i = 1; i <= last; ++i) {
if( i == today )
printf("[%2d]", i);
else
printf(" %2d ", i);
if( ++weekday == 8 ) {
writeln();
weekday = 1;
}
}
if( weekday > 1 ) // 改行していない場合は 改行
writeln();
}
function main()
{
calendar(currentTime());
}