[issue12750] datetime.strftime('%s') should respect tzinfo
akira
report at bugs.python.org
Sun Jun 29 19:58:05 CEST 2014
akira added the comment:
> Can you explain why math.floor rather than builtin round is the correct function to use?
To avoid breaking existing scripts that use `.strftime('%s')` on Linux, OSX,
see msg221385:
>>> from datetime import datetime, timezone
>>> dt = datetime(1969, 1, 1, 0,0,0, 600000, tzinfo=timezone.utc)
>>> '%d' % dt.timestamp()
'-31535999'
>>> round(dt.timestamp())
-31535999
>>> dt.astimezone().strftime('%s') # <-- existing behavior
'-31536000'
>>> '%d' % math.floor(dt.timestamp())
'-31536000'
>>> import calendar
>>> calendar.timegm(dt.astimezone(timezone.utc).timetuple())
-31536000
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue12750>
_______________________________________
More information about the Python-bugs-list
mailing list