> If I were to supply a value for nano- or microsecond, I would have thought that an integer would have been sufficient, and not to have supply a string for the value.
The string is an artefact from an sprintf to convert non-nanos to nanos.
> All of the numbers must be integers.
It's Perl's dogma to treat all convertible scalars alike, including integers and strings of integers.
DB<75> use warnings; print "001"+"001" # no warnings 2 DB<76>
I read the docs as "don't pass real numbers".
Keep in mind that the nanosecs could have been read from a file and come as string inside a variable.
DT::D only fails in this special case and I suppose it's because there is an inner test for falseness to see if the nanosecs are 0 ... but "000000000" OTOH is true.
My Boolean theory seems to be right, passing "0" works fine (false), but "00" fails (true).
Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery
FootballPerl is like chess, only without the dice
In reply to Re^2: [ DateTime::Duration ] off by one problem with negative seconds
by LanX
in thread [ DateTime::Duration ] off by one problem with negative seconds
by LanX
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |