[英]Change Date Format with Perl
我有一個文本文件,正在將其轉換為帶有要導入MySQL數據庫的信息的csv文件。
我目前的日期格式如下:
Mar 24
我想更改這種格式
YYYY-MM-DD
我想在perl中執行此操作,因為我已經在perl中的csv文件中完成了所有其他操作。
這是使用Time::Piece
暫時解決您的問題的方法,它是一個核心模塊,不需要安裝。
對於您輸入的日期格式不包含年份,我非常不滿意。 下面的代碼假定使用當年,但是如果代碼在12月31日運行,我可以想象像Jan 3
日這樣的日期應該升級到下一年。
必須將年份包括在要分析的字符串中,因為對於非-年, Time::Piece
將Feb 29
更改為Mar 1
Feb 29
。
use strict;
use warnings;
use Time::Piece;
print bd_to_ymd('Mar 24');
sub bd_to_ymd {
my ($bd) = @_;
my $year = localtime->year;
my $tp = Time::Piece->strptime("$year $bd", '%Y %b %d');
$tp->strftime('%Y-%m-%d');
}
輸出
2014-03-24
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.