summaryrefslogtreecommitdiff
path: root/dateutil
diff options
context:
space:
mode:
Diffstat (limited to 'dateutil')
-rw-r--r--dateutil/parser/_parser.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/dateutil/parser/_parser.py b/dateutil/parser/_parser.py
index 91a4182..f11ed2d 100644
--- a/dateutil/parser/_parser.py
+++ b/dateutil/parser/_parser.py
@@ -628,6 +628,12 @@ class parser(object):
ret = ret.replace(tzinfo=tzinfo)
elif res.tzname and res.tzname in time.tzname:
ret = ret.replace(tzinfo=tz.tzlocal())
+
+ # Handle ambiguous local datetime
+ if ret.tzname() != res.tzname:
+ new_ret = tz.enfold(ret, fold=1)
+ if new_ret.tzname() == res.tzname:
+ ret = new_ret
elif res.tzoffset == 0:
ret = ret.replace(tzinfo=tz.tzutc())
elif res.tzoffset: