GetNowRss2Format関数

「#--GetNowRss2Format」で検索すると確実にヒットします。

この関数は、現在の日付をRSS2.0フォーマット形式で作成します。

引数はなしで、戻り値はRSS2.0フォーマットで書かれた日付情報です。

それでは処理の流れを見てみましょう。

日付情報の作成

RSS2.0での日付情報を作成します。

my($second, $minute, $hour, $mday, $mon, $year, $wday) = gmtime(time+(60*60*9));
my @month_string = (
'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'
);
my @week_string = ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
my $month = $month_string[$mon];
my $week = $week_string[$wday];
$year += 1900;
$mday = sprintf("%02d", $mday);
$hour = sprintf("%02d", $hour);
$minute = sprintf("%02d", $minute);
$second = sprintf("%02d", $second);
return "${week}, ${mday} ${month} ${year} ${hour}:${minute}:${second} +0900";

time関数で取得できる現在の秒数に9時間分の秒数を足し、gmtime関数で世界標準時刻の各日付パーツを求めます。

次に、曜日名と月名を定義し、それぞれの値を補正します。

最後にreturn関数で日付情報を戻す際、RSS2.0での日付フォーマットにすれば完了です。