2011-10-11 3 views

답변

16

Time::Local를 사용하여 수행 할 수 있습니다

use Time::Local; 

my $date = '23.10.2011 11:35:00'; 
my ($mday,$mon,$year,$hour,$min,$sec) = split(/[\s.:]+/, $date); 
my $time = timelocal($sec,$min,$hour,$mday,$mon-1,$year); 
print $time,"\n",scalar localtime $time; 

출력 :

1319362500 
Sun Oct 23 11:35:00 2011 
16

나는 DateTimeparsing modules을 살펴볼 것입니다.

perl -MDateTime::Format::Strptime -le'$strp = DateTime::Format::Strptime->new(pattern => "%d.%m.%Y %T", time_zone => "local"); $dt = $strp->parse_datetime("23.10.2011 11:35:00"); print $dt->epoch' 
1319384100 at -e line 1. 
위와 동일

,하지만 한 라이너 :

use DateTime::Format::Strptime; 
my $strp = DateTime::Format::Strptime->new(
    pattern => '%d.%m.%Y %T', 
    time_zone => 'local', 
); 
my $dt = $strp->parse_datetime('23.10.2011 11:35:00'); 
print $dt->epoch; 
관련 문제