Use a stdlib method for _to_epoch_time on py3

This also works around a bug in Python 3.6.0 on Windows: see #2358.
This commit is contained in:
Adrian Sampson 2017-01-02 18:29:37 -05:00
parent 4711bf708b
commit 3acd4480ff

View file

@ -503,9 +503,13 @@ def _to_epoch_time(date):
"""Convert a `datetime` object to an integer number of seconds since
the (local) Unix epoch.
"""
epoch = datetime.fromtimestamp(0)
delta = date - epoch
return int(delta.total_seconds())
if hasattr(date, 'timestamp'):
# The `timestamp` method exists on Python 3.3+.
return int(date.timestamp())
else:
epoch = datetime.fromtimestamp(0)
delta = date - epoch
return int(delta.total_seconds())
def _parse_periods(pattern):