use DateTime qw( ); ( my $now = DateTime->now( time_zone => 'local' ) ) ->set_time_zone('floating'); my $cutoff_date = DateTime->new( year => $now->year, month => 5, day => 1, time_zone => 'floating', ); if ($now < $cutoff_date) { # do stuff }