Get the duration in units of
months,
days, minutes, seconds
from DateTime::Duration object; then convert (to other units or to a string) as you please. See the pod of the module for caveats.
(update) As you are calling subtract_datetime_absolute, you only need to get second (and nanosecond if you care) from the *::Duration object.
I personally did not care for any of the caveats about a day not being strictly 24 hour, etc. when I wanted to estimate finish time of transfer of ~40 TB of data. So, I did ...
# Conversion to day unit.
my ( $day, $min, $sec ) = map { $duration->in_units( $_ ) } qw[ days m
+inutes seconds ];
$day_duration = $day + ( $min/60 + $sec/3600 ) /24;