in reply to DateTime days limit
Sounds like you want DateTime's ->truncate method:
use warnings; use strict; use DateTime; my $now = DateTime->new(year=>2020,month=>4,day=>21,hour=>12); my @tests = ( DateTime->new(year=>2020,month=>4,day=>27,hour=>13), DateTime->new(year=>2020,month=>4,day=>28,hour=>11), DateTime->new(year=>2020,month=>4,day=>28,hour=>13), DateTime->new(year=>2020,month=>4,day=>29,hour=>11) ); for my $reservation_date (@tests) { my $fc_days_limit=7; if ($fc_days_limit) { my $days_from_now = $now->clone->add( days=>$fc_days_limit ) ->truncate( to => 'day' ); my $res_date_only = $reservation_date->clone ->truncate( to => 'day' ); if ($res_date_only >= $days_from_now) { print "Error on $reservation_date\n"; } else { print "Reservation $reservation_date is ok\n"; } } } __END__ Reservation 2020-04-27T13:00:00 is ok Error on 2020-04-28T11:00:00 Error on 2020-04-28T13:00:00 Error on 2020-04-29T11:00:00
|
|---|