From 4757f9471e2d5e367167419f001786a97b01f72f Mon Sep 17 00:00:00 2001 From: Bernhard Graf Date: Thu, 18 Oct 2012 00:09:46 +0200 Subject: [PATCH] Bug fix: $tzoffset calculation Fix for time zones, that are not on full hour offsets. --- lib/Plack/Middleware/AccessLog.pm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/Plack/Middleware/AccessLog.pm b/lib/Plack/Middleware/AccessLog.pm index 917ed6134..abd9553f7 100644 --- a/lib/Plack/Middleware/AccessLog.pm +++ b/lib/Plack/Middleware/AccessLog.pm @@ -13,12 +13,12 @@ my %formats = ( ); use POSIX (); -use Time::Local (); my $tzoffset = POSIX::strftime("%z", localtime) !~ /^[+-]\d{4}$/ && do { - my @t = localtime(time); - my $s = Time::Local::timegm(@t) - Time::Local::timelocal(@t); - sprintf '%+03d%02u', int($s/3600), $s % 3600; + require Time::Local; + my @t = localtime; + my $s = int(Time::Local::timegm(@t) - Time::Local::timelocal(@t)) / 60; + sprintf '%+03d%02u', $s / 60, $s % 60; }; sub call {