Reputation: 1321
I need to find the next date of any date.
use strict;
my $entered_date="2011-11-30";
In the above code I want to find the next date of the date, which stored in $entered_date variable... Please share your solutions....
Thanks in Advance...
Upvotes: 5
Views: 3955
Reputation: 5279
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;
Upvotes: 2
Reputation: 2328
use Date::Simple;
my $date = Date::Simple->new($entered_date);
$date++;
print $date;
The formats understood by new() is described under constructors
Upvotes: 4
Reputation: 717
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");
[ edit: changed %F
to %Y-%m-%d
for Wintendo compatibility. Thanks, @bvr ]
Upvotes: 6
Reputation: 9295
perl -MDate::Calc -E ' use Date::Calc qw(Add_Delta_Days);say join "-", Add_Delta_Days(2011,11,30,1);'
2011-12-1
In a script (not very safe)
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
Upvotes: 4