This works, too:
use warnings; use strict; use feature qw( say ); use DateTime; my $then = DateTime->new( year => 2013, month => 3, day => 14 ); my $now = DateTime->now(); say $now->delta_days($then)->delta_days(); # Prints 295 say $then->delta_days($now)->delta_days(); # Also prints 295
It's actually what the old and probably obsolete FAQ says to do: use delta_days() twice. See How can I calculate the difference in days between dates? in FAQ: Sample Calculations on the DateTime project wiki.
But much more recently, Dave Rolsky, the author of DateTime, has demonstrated doing it using in_units('days') instead. See Calculating the Difference Between Two Dates in his YAPC::NA 2013 (June 5, 2013) presentation titled A Date with Perl. You can watch Dave's whole presentation at Perl TV and on YouTube
Jim
In reply to Re: How to find the number of days with DateTime ?
by Jim
in thread How to find the number of days with DateTime ?
by pcouderc
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |