From bba228857861a1ac5b86f6884d105d7ef03686b1 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Tue, 14 Mar 2017 12:46:28 -0400 Subject: [PATCH] [SIGNED OFF] Bug 9031 - Overdue items crossing DST boundary throw invalid local time exception To test: 1 - Set TZ to America/New York 2 - Checkout item and set due date to '2016-03-09 02:29:00" 3 - Make sure fines are set for the item type, fine mode production, calculate fines on return 4 - Check in item - invalid date time warning in logs 5 - Apply patch 6 - Check in item - no error 7 - prove t/Calendar.t Signed-off-by: Katrin Fischer --- Koha/Calendar.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Koha/Calendar.pm b/Koha/Calendar.pm index 67d2a6b..2d87e05 100644 --- a/Koha/Calendar.pm +++ b/Koha/Calendar.pm @@ -327,7 +327,7 @@ sub days_between { # start and end should not be closed days my $days = $start_dt->delta_days($end_dt)->delta_days; - for (my $dt = $start_dt->clone(); + for (my $dt = $start_dt->clone()->set_time_zone('UTC'); $dt <= $end_dt; $dt->add(days => 1) ) { @@ -351,7 +351,7 @@ sub hours_between { # take into account open/close times then it would be a duration # of library open hours my $skipped_days = 0; - for (my $dt = $start_dt->clone(); + for (my $dt = $start_dt->clone()->set_time_zone('UTC'); $dt <= $end_dt; $dt->add(days => 1) ) { -- 2.7.4