//----------------------------------------------------------------------
//				指定日付を含む月のカレンダーを表示
//----------------------------------------------------------------------
//		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());
}