2013-08-19 44 views
0

給定兩個日期:轉換日期到指定的格式和兩個日期comparisions

$日期1

format: yyyy-mm-dd hh:mm:ss eg: 2013-05-21 07:47:21 

$日期2

format: Day Month date hh:mm:ss yyyy eg: Thu Aug 1 09:53:40 2013 

如何比較$日期1和$日期2 ?

我想要做以下操作:

如果($日期2> = $日期1){// 做一些操作 }

但我不能做比較,因爲這兩個日期以不同的格式。

回答

4

如何:

use Time::Piece; 
my $d1 = '2013-05-21 07:47:21'; 
my $d2 = 'Thu Aug 1 09:53:40 2013'; 
my $t1 = Time::Piece->strptime($d1, "%Y-%m-%d %T"); 
my $t2 = Time::Piece->strptime($d2, "%c"); 
say $t2->epoch - $t1->epoch; 

輸出:

6228379 

Time::Piece documentation

0

使用正則表達式解析日期,並使用Time::Local函數轉換爲1970年1月1日之後的秒數,以比較整數。