2014-01-29 56 views
-1

如何更改日期12/23/0223/12/200203/35/5535/03/2055的格式?更改日期格式

15/06/17 ====>06/15/2017

回答

2

下面是一個使用DateTime::Format::Strptime的例子:

我可以閱讀文本文件中的日期,但我不能改變他們的格式

UPDATE:

use DateTime::Format::Strptime; 
my $str = '12/23/02'; 
my $parser = DateTime::Format::Strptime->new(pattern => '%m/%d/%y'); 
my $dt = $parser->parse_datetime($str); 
print $dt->strftime('%d/%m/%Y') 

輸出:

23/12/2002 
+0

你知道DateTime對象有一個strftime()方法嗎? 'print $ dt-> strftime('%d /%m /%Y')'看起來更簡單。 –

+0

@DaveCross謝謝,現在好多了。 –

+0

我想你甚至可以完全消除$ dt:'print $ parser-> parse_datetime($ str) - > strftime('%d /%m /%Y')':-) –

1

我覺得Perl模塊,時間::片應該工作

use Time::Piece 'strptime'; 
my %date = strptime('%d/%m/%y', '15/06/17'); 

日期哈希包含隨後將分析日期元素,$日期{d} $日期{M},並$ date {y},您可以使用它來重新格式化日期。

+0

爲什麼不只是'my $ date = strptime('%d /%m /%y','15/06/17') - > strftime('%d /%m /%Y')'? –