use strict; use DateTime; my $endDate = DateTime->new( year => 2015, month => 03, day => 30, time_zone => 'America/New_York' ); my $dt1 = DateTime->now( 'time_zone' => 'America/New_York' ); my $dur = $endDate->subtract_datetime($dt1); my ($m,$w,$d) = $dur->in_units( 'months','weeks','days' ); print "Expires in: $m months, $w weeks, $d days\n"; ($w,$d) = $dur->in_units( 'weeks','days' ); print "Expires in: $w weeks, $d days\n"; ($d) = $dur->in_units( 'days' ); print "Expires in: $d days\n"; __END__ Results: Expires in: 1 months, 1 weeks, 3 days Expires in: 1 weeks, 3 days Expires in: 10 days