我需要找到任何日期的下一个日期。
use strict;
my $entered_date="2011-11-30";
在上面的代码中我想找到日期的下一个日期,它存储在$ entered_date变量中......请分享您的解决方案......
提前致谢...
答案 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;