加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在perl中,如何从日期中减去10天,该日期通过文本文件并在dd-Month

发布时间:2020-12-15 23:25:35 所属栏目:大数据 来源:网络整理
导读:在perl中有一种方法可以从一个日期中减去10天,该日期将从文本文件传递,输出应该是01-jan-1999格式. 我正在使用下面的代码来读取文件,并获得日期后,我被减去日期. date.txt 25-JAN-2013 #!/usr/bin/perluse warnings;use strict;use DateTime;my $inp= "date.
在perl中有一种方法可以从一个日期中减去10天,该日期将从文本文件传递,输出应该是01-jan-1999格式.

我正在使用下面的代码来读取文件,并获得日期后,我被减去日期.

date.txt

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 ;

解决方法

这是一个使用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');

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读