From: Junio C Hamano Date: Fri, 25 Mar 2011 17:15:16 GMT Subject: Re: [PATCH (BUGFIX)] gitweb: Fix handling of fractional timezones in parse_date Message-ID: <7v8vw36s0r.fsf@alter.siamese.dyndns.org> In-Reply-To: Kevin Cernekee writes: > It's just a matter of personal preference, but I would find this > regexp slightly easier to read: > > + ($tz =~ m/^([+\-])([0-9]{2})([0-9]{2})$/); I'd say "^([-+])(\d\d)(\d\d)$" makes it the most clear. >> +       $tz_sign = ($tz_sign eq '-' ? -1 : +1); >> +       my $local = $epoch + $tz_sign*($tz_hour + ($tz_min/60.0))*3600; > > If you wanted to avoid floats, you could do something like: > > + my $local = $epoch + $tz_sign * ($tz_hour * 3600 + $tz_min * 60); That is not just float-avoidance, but is much more logical. (($h * 60) + $m) * 60 may be even more logical and more readable, though. Care to re-roll the patch?