Perlでtimelocalを使う(メモ)

これすぐ忘れていつもググる事になるので、メモ。

use Time::Local;

my $date = '2014-10-11 10:30:00';
my @date = split(/ /,$date);
my @ymd = split(/-/,$date[0]);
my @hms = split(/:/,$date[1]);

# timelocal(秒,分,時,日,月,年);
my $unix = timelocal($hms[2],$hms[1],$hms[0],$ymd[2],$ymd[1]-1,$ymd[0]);
print $unix;

localtimeは何もuseしなくても使えるけど、timelocalは、Time::Localをuseしないと使えない。

timelocalでunixtimeを取る時は、月を-1する。
(localtimeの場合は、年+1900,月+1)

以上、メモでした。