datetime
Current time
datetime module里有一个datetime class
from datetime import datetime
datetime.now()
specific time
dt = datetime(2015, 4, 19, 12, 20)
timestamp
我们把1970年1月1日 00:00:00 UTC+00:00时区的时刻称为epoch time,记为0(1970年以前的时间timestamp为负数),当前时间就是相对于epoch time的秒数.
timestamp = 0 = 1970-1-1 00:00:00 UTC+0:00
timestamp与时区没有关系,因为它根据UTC时间确定了。
对于datetime只要简单调用timestamp()
dt.timestamp()
timestamp也可以直接被转换到UTC标准时区的时间:
>>> from datetime import datetime
>>> t = 1429417200.0
>>> print(datetime.fromtimestamp(t)) # 本地时间
2015-04-19 12:20:00
>>> print(datetime.utcfromtimestamp(t)) # UTC时间
2015-04-19 04:20:00
str to datetime
使用datetime.strptime()
>>> from datetime import datetime
>>> cday = datetime.strptime('2015-6-1 18:19:59', '%Y-%m-%d %H:%M:%S')
>>> print(cday)
2015-06-01 18:19:59
datetime to str
strftime()
>>> from datetime import datetime
>>> now = datetime.now()
>>> print(now.strftime('%a, %b %d %H:%M'))
Mon, May 05 16:28
datetime calculate
from datetime import timedelta
now + timedelta(hours=10)
time zone
tzinfo
utcnow()
Summary
如果要存储datetime,最佳方法是将其转换为timestamp再存储,因为timestamp的值与时区完全无关。