更改日期格式并添加日期

时间:2016-07-26 21:46:21

标签: perl date

我需要帮助更改日期格式并添加日期。现在的日期是MMYY(0919),我需要它是YYYY-MM-DD(2019-09-01),当天总是01.任何帮助都将不胜感激!

3 个答案:

答案 0 :(得分:3)

如果日期始终在21世纪,那么您可以使用简单的正则表达式替换,例如

use strict;
use warnings 'all';
use feature 'say';

say convert_date('0919');

sub convert_date {
    (my $yyyymmdd = shift) =~ s/(\d\d)(\d\d)/20$2-$1-01/;
    $yyyymmdd;
}

输出

2019-09-01

如果您运行的是Perl v 5.14或更高版本,可能会缩写,如此

sub convert_date {
    shift =~ s/(\d\d)(\d\d)/20$2-$1-01/r;
}

答案 1 :(得分:0)

我建议使用优秀的https://metacpan.org/pod/DateTime。如果您需要进一步计算日期,那将非常轻松。

use DateTime::Format::Strptime;
my $mmyydd = '0919' . '01';
print DateTime::Format::Strptime
    ->new(pattern => '%m%y%d')
    ->parse_datetime($mmyydd)
    ->ymd;

输出:     2019年9月1日

答案 2 :(得分:0)

不需要DateTime。自2007年以来,Time::Piece已包含在标准Perl发行版中。

$ perl -MTime::Piece -E'say Time::Piece->strptime("0919", "%m%y")->ymd'
2019-09-01
相关问题