my $start_dt = shift;
my $end_dt = shift;
+ my $datestart_temp = $start_dt->clone();
+ my $dateend_temp = $end_dt->clone();
+
# start and end should not be closed days
- my $duration = $end_dt->delta_days($start_dt);
- $start_dt->truncate( to => 'days' );
- $end_dt->truncate( to => 'days' );
- while ( DateTime->compare( $start_dt, $end_dt ) == -1 ) {
- $start_dt->add( days => 1 );
- if ( $self->is_holiday($start_dt) ) {
+ my $duration = $dateend_temp->delta_days($datestart_temp);
+ $datestart_temp->truncate( to => 'days' );
+ $dateend_temp->truncate( to => 'days' );
+ while ( DateTime->compare( $datestart_temp, $dateend_temp ) == -1 ) {
+ $datestart_temp->add( days => 1 );
+ if ( $self->is_holiday($datestart_temp) ) {
$duration->subtract( days => 1 );
}
}