理解timestamp
大多数资料都说timestamp表示自从1970-1-1 00:00:00开始到现在的秒数,一般称为epoch time,却忽略了时区的概念。其实,不同时区记录timesamp的基准时间是不一样的,比如UTC+00:00时区(国际标准时区)的epoch time就是1970-1-1 00:00:00,UTC+08:00时区(北京的时区)的epoch time应该是1970-1-1 08:00:00
以下是东八区的timestamp示例
# 北京时间,UTC+08:00时区
>>> dt8 = datetime.datetime(1970, 1, 1, 8,0,0) >>> dt8.timestamp() 0.0
# 世界标准时间,UTC+00:00时区
>>> dtutc = datetime.datetime(1970, 1, 1, 0, 0, 0, tzinfo=datetime.timezone(date
time.timedelta(hours=0)))
>>> dtutc.timestamp()
0.0
# # 北京时间,当前时间 >>> dtnow = datetime.datetime.now()
>>> dtnow.timestamp()
1469587138.840328
这就是为什么在所有的时区,timestamp都一致,因此计算机内部使用timestamp计算时间