Support for tz-aware datetime.datetime objects #1450
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Original issue
Issue: #1409
version: 12.0.0b1
Changes
The
._put()
method can now accept utc_offset-aware/timezone-awaredatetime.datetime
objects. This helps bots to be hosted on a server with any timezone without complications.To convert datetimes to UTC, a "UTC" subclass of the
datetime.tzinfo
class was added, and used in._put()
.Other options considered
.now()
comparisons in._put()
to.utcnow()
. This was not chosen, since it would cause a major compatibility issue. Bots would have to be rewritten to pass in UTC datetimes, instead of local (computer time) datetimes, into the jobqueue.run_once and other methods. This would likely be unwanted behaivour.