我有一个包含日期列表的文件。我想获得月份的信息。我正在做以下事情:(我省略了打开文件的部分)
$request_date = "2012-01-02 08:12:11";
chomp(my $monthdatefile = `date '+%B %Y' --date='$request_date'`);
但需要太多。
从Unix将是我想要的:
$ date '+%B %Y' --date='2012-01-02 08:12:11'
January 2012
答案 0 :(得分:4)
像这样使用Time::Piece
use strict;
use warnings;
use Time::Piece;
my $request_date = '2012-01-02 08:12:11';
my $tp = Time::Piece->strptime($request_date, '%Y-%m-%d %H:%M:%S');
my $month_year = $tp->strftime('%B %Y');
print $month_year;
<强>输出强>
January 2012
答案 1 :(得分:0)
如果你关心速度,我只需要一个包含12个条目的哈希表。 然后按如下方式提取字段:
my %hash = (1 => 'January', 2=>'February', ...);
$request_date =~ /^(\d+)-(\d+)-/;
my ($year,$month) = ($1,$2);
print $hash{$month}." ".$year;