> There is an interesting thread related to this in the zodb3-dev list: > http://mail.zope.org/pipermail/zope3-dev/2005-February/013567.html > I think we should change Dulcinea to use utcnow everywhere instead > of now(), and just run all date formatting through a local.format_date > as you > suggest. If we could always rely that the datetime objects were based on utc time then that would suffice; then we can coerce datetime objects to be tz aware if needed with a little more assurance. Although I still have a hankering for being explicit and setting tzinfo... from datetime import tzinfo, timedelta, datetime ZERO = timedelta(0) class utc(tzinfo): """UTC""" def __repr__(self): return "UTC" def utcoffset(self, dt): return ZERO def tzname(self, dt): return "UTC" def dst(self, dt): return ZERO UTC = utc() def utcnow(): """return a tz aware datetime object set to zone UTC """ return datetime.now(UTC)