如果d = date(2011, 1, 1)在世界协调时:>>> from datetime import datetime, date>>> import calendar>>> timestamp1 = calendar.timegm(d.timetuple())>>> datetime.utcfromtimestamp
(timestamp1)datetime.datetime(2011, 1, 1, 0, 0)
如果d在本地时区:>>> import time>>> timestamp2 = time.mktime(d.timetuple()) # DO NOT USE IT WITH UTC DATE>>> datetime.fromtimestamp(timestamp2)datetime.
datetime(2011, 1, 1, 0, 0)
timestamp1和timestamp2如果本地时区中的午夜与UTC中的午夜不是相同的时间实例,则可能有所不同。
转换datetime.date对象,表示以UTC格式表示的日期。calendar.timegm():DAY = 24*60*60 # POSIX day in seconds (exact value)timestamp = (utc_date.toordinal() - date(1970, 1, 1).toordinal()) * DAY
timestamp = (utc_date - date(1970, 1, 1)).days * DAY
根据UTC的说法,我怎样才能把日期转换成从时代开始的秒呢?
转换datetime.datetime(不是datetime.date对象,该对象已将时间以UTC的形式表示为相应的POSIX时间戳(afloat).
Python 3.3+