the Gravity of Python 2
Roy Smith
roy at panix.com
Wed Jan 8 21:25:55 EST 2014
In article <mailman.5222.1389232077.18130.python-list at python.org>,
Chris Angelico <rosuav at gmail.com> wrote:
> Why not simply use a UTC datetime instead of a naive one?
[Pet peeve of mine: uses of "simple" or "just" to imply that something
is easy, when it's not. "Why not just get the Arabs and the Jews to be
friends?" "Why not simply find a safe way to store nuclear waste?"]
Because it's easy to get a naive one. You call datetime.utcnow(). If
utcnow() returned an aware datetime, that's probably what we would be
using. Why didn't utcnow() just return an aware datetime to begin with?
Conversely, it's a pain in the butt to get an aware one. As far as I
can tell, you have to do something like:
utcnow().replace(tzinfo=pytz.utc)
which is not only ugly, but requires installing a third-party module
(pytz) to get the UTC timezone definition.
Not to mention, our database (mongodb), doesn't support storing aware
datetimes. I can insert a document with an aware datetime, but when I
retrieve that document, I get back a naive one. I don't know what other
databases do.
More information about the Python-list
mailing list