diff options
| author | Paul Ganssle <paul@ganssle.io> | 2017-11-12 11:34:24 -0500 |
|---|---|---|
| committer | Paul Ganssle <paul@ganssle.io> | 2017-11-13 16:54:50 -0500 |
| commit | bbe6e8194c8d5ef8128bac84fec2ce5a1a3c7ea7 (patch) | |
| tree | 2c69f40bc1b16d8f420cad07c348c413e3c6deeb /dateutil/parser/_parser.py | |
| parent | eab096220c95d128f3a6f5ab2f19eeb029ea1e83 (diff) | |
| download | dateutil-git-bbe6e8194c8d5ef8128bac84fec2ce5a1a3c7ea7.tar.gz | |
Add ability to parse ambiguous local datetimes
Diffstat (limited to 'dateutil/parser/_parser.py')
| -rw-r--r-- | dateutil/parser/_parser.py | 6 |
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: |
