summaryrefslogtreecommitdiff
path: root/dateutil/parser/_parser.py
diff options
context:
space:
mode:
authorPaul Ganssle <paul@ganssle.io>2017-11-12 11:34:24 -0500
committerPaul Ganssle <paul@ganssle.io>2017-11-13 16:54:50 -0500
commitbbe6e8194c8d5ef8128bac84fec2ce5a1a3c7ea7 (patch)
tree2c69f40bc1b16d8f420cad07c348c413e3c6deeb /dateutil/parser/_parser.py
parenteab096220c95d128f3a6f5ab2f19eeb029ea1e83 (diff)
downloaddateutil-git-bbe6e8194c8d5ef8128bac84fec2ce5a1a3c7ea7.tar.gz
Add ability to parse ambiguous local datetimes
Diffstat (limited to 'dateutil/parser/_parser.py')
-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: