[Edit][Create New]
[ IndexPage / ネットとプログラミング / CGI / 便利なスクリプト片(未整理) / get_day_select.pl ]

get_day_select.pl

# 日付のSELECTを作成する

sub get_day_select{
	my($year_name, $mon_name, $day_name, $year, $mon, $day) = @_;

	# デフォルト作成
	$year_name ||= 'YEAR';
	$mon_name  ||= 'MON';
	$day_name  ||= 'DAY';

	# デフォルトで今日
	unless($year){
		(undef, undef, undef, $day, $mon, $year) = localtime;
		$mon++;
		$year += 1900;
	}

	my($from_year) = 1900;
	my($to_year)   = (localtime)[5] + 1900;

	my $return;

	$return .= "<SELECT NAME=$year_name>\n";

	foreach ($from_year .. $to_year){
		my $selected = ($_ == $year) ? ' SELECTED' : '';
		$return .= "<OPTION VALUE=$_$selected>$_</OPTION>\n";
	}

	$return .= "</SELECT>年\n<SELECT NAME=$mon_name>\n";

	foreach (1 .. 12){
		my $selected = ($_ == $mon) ? ' SELECTED' : '';
		$return .= "<OPTION VALUE=$_$selected>$_</OPTION>\n";
	}

	$return .= "</SELECT>月\n<SELECT NAME=$day_name>\n";

	foreach (1 .. 31){
		my $selected = ($_ == $day) ? ' SELECTED' : '';
		$return .= "<OPTION VALUE=$_$selected>$_</OPTION>\n";
	}

	$return .= "</SELECT>日\n";

	$return;
}
1;