在perl中有一种方法可以从日期中减去10天,该日期将从文本文件中传递,输出应该是01-jan-1999格式.
我正在使用下面的代码来读取文件,并获得日期后,我被减去日期.
25-JAN-2013
#!/usr/bin/perl
use warnings;
use strict;
use DateTime;
my $inp= "date.txt";
my $todate;
my $fromdate;
open(date,"$inp");
while(<date>)
{
$todate = $_ ;
print "$todate \n";
}
$fromdate = $todate - 10 days ;
Run Code Online (Sandbox Code Playgroud)
这是一个使用DateTime的答案.
#!/usr/bin/perl
use strict;
use warnings;
use 5.010;
use DateTime::Format::Strptime;
use DateTime;
my $parser = DateTime::Format::Strptime->new(
pattern => '%d-%B-%Y'
);
my $input = '25-jan-2013';
my $todate = $parser->parse_datetime($input);
my $fromdate = $todate->clone;
$fromdate->subtract(days => 10);
say 'From: ', $fromdate->strftime('%d-%B-%Y');
say 'To: ', $todate->strftime('%d-%B-%Y');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13050 次 |
| 最近记录: |