jk2addict has asked for the wisdom of the Perl Monks concerning the following question:
Any Date::Calc gurus in the house? I'm trying to do something so simple I just must be completely wrong, because the result isn't what I'm expecting.
Just for giggles, I simply want the Years, Months and Days between my dob and now. Using Date::Calc version 5.
use strict; use Date::Calc qw(Delta_YMD Today); sub version { my $format = shift || "%D.%02d.%02d"; my ($year, $month, $day) = Today; my ($dy, $dm, $dd) = Delta_YMD(1973, 7, 19, $year, $month, $ +day); my $version = sprintf($format, $dy, $dm, $dd); return $version; }; print version();
I get 29.02.-15
-15 ? I would think first of all, there should be no negative results as long as the dates are input in the right order, and then, it would be all negative or all positive.
What I'm really after is 29.01.15 (years, months, days)
Multiplying days times -1 and subtracting 1 form the months does it. :-) Or changing the 7 to an 8 in Delta_YMD. But what am I really missing here? Today is returning the correct values also.
* feeling clueless today *
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Date::Calc / Delta_YMD funkyness?
by mojotoad (Monsignor) on Sep 04, 2002 at 23:37 UTC | |
by jk2addict (Chaplain) on Sep 04, 2002 at 23:52 UTC | |
|
Re: Date::Calc / Delta_YMD funkyness?
by sauoq (Abbot) on Sep 04, 2002 at 23:35 UTC |