如何使用perl查找给定日期的下一个日期?

时间:2012-02-15 12:49:41

标签: perl

我需要找到任何日期的下一个日期。

use strict;

my $entered_date="2011-11-30";

在上面的代码中我想找到日期的下一个日期,它存储在$ entered_date变量中......请分享您的解决方案......

提前致谢...

4 个答案:

答案 0 :(得分:6)

use Time::Piece;
use Time::Seconds;
my $date = Time::Piece->strptime($entered_date, "%Y-%m-%d");
$date += ONE_DAY;
return $date->strftime("%Y-%m-%d");

[编辑:将%F更改为%Y-%m-%d以获得Wintendo兼容性。谢谢,@ bvr]

答案 1 :(得分:4)

perl -MDate::Calc -E ' use Date::Calc qw(Add_Delta_Days);say join "-", Add_Delta_Days(2011,11,30,1);'

2011-12-1

在脚本中(不太安全)

use Date::Calc qw(Add_Delta_Days);
my $entered_date = "2011-12-31";
print join "-", Add_Delta_Days(split(/-/,$entered_date),1);'

2012-1-1

答案 2 :(得分:4)

use Date::Simple;

my $date = Date::Simple->new($entered_date);

$date++;

print $date;

new()理解的格式描述为under constructors

答案 3 :(得分:2)

use strict;
use DateTime::Format::Flexible;
my $entered_date = "2011-11-30";

my $dt = DateTime::Format::Flexible->parse_datetime( $entered_date );
print $dt->add( days => 1 )->ymd;