¿Cómo hacer que DateTime :: Duración se muestre solo en días?
Este código encuentra la diferencia entre hoy y una fecha fija.
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
use DateTime ();
use DateTime::Duration ();
use DateTime::Format::Strptime ();
my $date = "23/05-2022";
my $parser = DateTime::Format::Strptime->new(
pattern => '%d/%m-%Y',
time_zone => 'local',
);
$date = $parser->parse_datetime($date);
my $today = DateTime->today(time_zone=>'local');
my $d = DateTime::Duration->new($today - $date);
print Dumper $d->delta_days;
l problema es que solo genera salidas de 22 día
Si lo hagoprint Dumper $d;
También puedo ver los -130 meses.
$VAR1 = bless( {
'seconds' => 0,
'minutes' => 0,
'end_of_month' => 'preserve',
'nanoseconds' => 0,
'days' => -22,
'months' => -130
}, 'DateTime::Duration' );
¿Cómo consigo que muestre el resultado en días?
Haciend
print Dumper $d->delta_days + $d->delta_months*30;
no parece una solución elegante.