今日のログをログ ディレクトリに保存したいだけです。
use POSIX qw(mktime);
use Time::Local;
my $file="20130204.log";
print "$file\t";
open my $fh,'<',$file;
my $modtime = (stat($fh))[9];
print "modtime:$modtime\n";
my $time = timelocal(59,59,23,4,2,2013);
print "Time::Local::time(2013-2-4 23:59:59) => $time\n";
$time = mktime(59,59,59,4,2,2013-1900,0,0);
print "mktime(2013-2-4 23:59:59) => $time\n";
結果:
20130204.log modtime:1359989999
Time::Local::time(2013-2-4 23:59:59) => 1362409199
mktime(2013-2-4 23:59:59) => 1362538799
date
:Tue Feb 5 10:57:00 JST 2013
ls -l
-rw-r--r-- 1 root root 945203711 Feb 4 23:59 20130204.log
date -d '2013-02-04 23:59:59' +%s
: 1359989999
Time::Local::time と mktime で 1359989999 が返されないのはなぜですか?