1

今日のログをログ ディレクトリに保存したいだけです。

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 が返されないのはなぜですか?

4

1 に答える 1

1

1 月 = 0、1900 年 = 0

$time = timelocal(59,59,23,4,2-1,2013-1900);
$time = mktime(59,59,59,4,2-1,2013-1900,0,0);
于 2013-02-05T02:22:09.633 に答える