diff --git a/Kernel/System/Calendar/Appointment.pm b/Kernel/System/Calendar/Appointment.pm index 2a134743fe6..b40c6928fc4 100644 --- a/Kernel/System/Calendar/Appointment.pm +++ b/Kernel/System/Calendar/Appointment.pm @@ -2376,8 +2376,8 @@ sub _AppointmentRecurringCreate { my $EndDSTDiff = $EndTimeObject->CompareDST($OriginalEndTimeObject); my $CurrentStartTimeObject = $StartTimeObject->Clone(); my $CurrentEndTimeObject = $EndTimeObject->Clone(); - if ( $StartDSTDiff ) { - if ( IsPositiveInteger($StartDSTDiff) ) { + if ( IsInteger( $StartDSTDiff ) ) { + if ( $StartDSTDiff > 0 ) { $CurrentStartTimeObject->Subtract( Seconds => $StartDSTDiff ); } elsif ( $StartDSTDiff < 0 ) { @@ -2385,8 +2385,8 @@ sub _AppointmentRecurringCreate { } $StartTime = $CurrentStartTimeObject->ToString(); } - if ( $EndDSTDiff ) { - if ( IsPositiveInteger($EndDSTDiff) ) { + if ( IsInteger($EndDSTDiff) ) { + if ( $EndDSTDiff > 0 ) { $CurrentEndTimeObject->Subtract( Seconds => $EndDSTDiff ); } elsif ( $EndDSTDiff < 0 ) { diff --git a/Kernel/System/DateTime.pm b/Kernel/System/DateTime.pm index b7adb635727..9c4fc3603ec 100644 --- a/Kernel/System/DateTime.pm +++ b/Kernel/System/DateTime.pm @@ -2242,9 +2242,7 @@ sub _OpNotEquals { sub CompareDST { my ($Self, $OtherDateTimeObject) = @_; - my $TimeDif = $Self->{CPANDateTimeObject}->offset - $OtherDateTimeObject->{CPANDateTimeObject}->offset; - - return $TimeDif; + return $Self->{CPANDateTimeObject}->offset - $OtherDateTimeObject->{CPANDateTimeObject}->offset; } 1;