date-diff


#! /usr/bin/env perl

use 5.040;
use DateTime;
use Time::Piece;


die "exactly two ISO dates, either order" unless 2 == scalar @ARGV;

my @Epochs = map { (Time::Piece->strptime($_,q(%F))->epoch)} @ARGV;

# name later "DD" as Death Date, ealier as BD as Birth Date, but usable for any

my ($dd, $bd) = map { DateTime->from_epoch($_) } reverse sort @Epochs;

my $delta= $dd->subtract_datetime($bd)->calendar_duration;

my ($yy,$mos, $days) = (
      $delta->years,  $delta->months, $delta->weeks*7+$delta->days, );

say "(", $bd->date, " - ", $dd->date, ") $yy y, $mos m, $days d."