summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--git/objects/util.py5
-rw-r--r--git/test/test_util.py2
2 files changed, 5 insertions, 2 deletions
diff --git a/git/objects/util.py b/git/objects/util.py
index f36bf296..d31c4c93 100644
--- a/git/objects/util.py
+++ b/git/objects/util.py
@@ -156,7 +156,10 @@ def parse_date(string_date):
fstruct = time.struct_time((dtstruct.tm_year, dtstruct.tm_mon, dtstruct.tm_mday,
tstruct.tm_hour, tstruct.tm_min, tstruct.tm_sec,
dtstruct.tm_wday, dtstruct.tm_yday, tstruct.tm_isdst))
- return int(time.mktime(fstruct)), utctz_to_altz(offset)
+ utctime = time.mktime(fstruct)
+ # time.mktime returns local time, so we need to adjust it for local offset
+ utctime -= time.altzone if time.daylight else time.timezone
+ return int(utctime), utctz_to_altz(offset)
except ValueError:
continue
# END exception handling
diff --git a/git/test/test_util.py b/git/test/test_util.py
index d8682030..10d397c3 100644
--- a/git/test/test_util.py
+++ b/git/test/test_util.py
@@ -102,7 +102,7 @@ class TestUtils(TestBase):
iso3 = ("2005.04.07 22:13:11 -0000", 0)
alt = ("04/07/2005 22:13:11", 0)
alt2 = ("07.04.2005 22:13:11", 0)
- veri_time = 1112904791 # the time this represents
+ veri_time = 1112911991 # the time this represents
for date, offset in (rfc, iso, iso2, iso3, alt, alt2):
assert_rval(parse_date(date), veri_time, offset)
# END for each date type