in reply to Calculate date with days

I assume there's a typo in your post, and the second date result should be 03/09/2005?

So far as installing modules, it's usually as simple as running perl -MCPAN -e 'install Date::Calc' if you use *nix, or using ppm in Windows. You can see here for more info: http://www.cpan.org/misc/cpan-faq.html

This is another solution to your question, using Date::Calc:

use strict; use warnings; use Date::Calc qw(Add_Delta_Days); my ($year, $month, $day); ($year, $month, $day) = Add_Delta_Days(2005,8,24,3); printf "%02d/%02d/%4d\n", $day, $month, $year; ($year, $month, $day) = Add_Delta_Days(2005,8,24,10); printf "%02d/%02d/%4d\n", $day, $month, $year;

Replies are listed 'Best First'.
Re^2: Calculate date with days
by davidrw (Prior) on Aug 24, 2005 at 11:44 UTC
    I almost always use an array instead of ($year, $month, $day) when working with Date::Calc -- faster to type and clearer to read (especially with the functions like Delta_Days that take two dates). (of course functionally it's exactly the same)
    use Date::Calc qw(Add_Delta_Days); my $date_str = "24/08/2005"; my @start = reverse split "/", $date_str; # convert to (YYYY, MM, DD +) array my @d = Add_Delta_Days(@start,3); printf "%02d/%02d/%4d\n", $d[2,1,0]; # print DD/MM/YYYY format @d = Add_Delta_Days(@start,10); printf "%02d/%02d/%4d\n", $d[2,1,0]; # print DD/MM/YYYY format