use DateTime::SpanSet; my $dt1 = DateTime->new( year => 2005, month => 1, day => 1 ); my $dt2 = DateTime->new( year => 2005, month => 1, day => 4 ); my $dt3 = DateTime->new( year => 2005, month => 1, day => 7 ); my $dt4 = DateTime->new( year => 2005, month => 1, day => 9 ); my $dt_spanset = DateTime::SpanSet->from_spans( spans => [ DateTime::Span->from_datetimes( start => $dt1, end => $dt2 ), DateTime::Span->from_datetimes( start => $dt3, end => $dt4 ), ] ); print "duration: @{[ $dt_spanset->duration->deltas ]}\n"; # duration: months 0 days 5 minutes 0 seconds 0 nanoseconds 0