Perlで日付を取得する
Perlで日付を取得する
perlで1週間分の日付を取得し、セレクトボックスに格納したいと思っています。
なるべくいま使っているサブルーチンを使いたいです。
# 現在日時を文字列化する
sub get_date_string {
# local(@week) = ("日", "月", "火", "水", "木", "金", "土");
local(@week) = ("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
local($sec, $min, $hour, $day, $mon, $year, $weekday) = localtime(time);
$year += 1900;
$mon++;
# 文字列化する
if ($hour < 10) {
$hour = "0$hour";
}
if ($min < 10) {
$min = "0$min";
}
if ($sec < 10) {
$sec = "0$sec";
}
$weekstr = $week[$weekday];
return "$year-$mon-$day ($weekstr) $hour:$min";
# return "$year年$mon月$day日 ($weekstr) $hour時$min分$sec秒";
}
これを別のルーチンで、
$today = substr(&get_date_string,0,10);
$kinou = $today - 1;
$ototoi = $today - 2;
として、今日の日付だけでなく、昨日、おととい、その前の日を取得したいと試みましたが、今日は取得できても、$kinouや$ototoiは、すごい数字になってしまいます。
変わりに -24*3600と引いてみましたがダメでした。
文字列に変更されていないから引けないのでしょうか?
かんたんに処理できそうでできないので、詳しいやり方を教えてください。