时间戳
时间戳是容易理解的。
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数
我们先可以将其理解为历史上某一时刻距离现在的秒数,显然这件事情是确定的,不考虑相对论的话,对于地球上任何一点,我们都可以获得同样的时间戳。
时间和时区
但是对于具体的时间来说,在同一时刻或者说不同时间戳下,地球上不同的人可能会有不同的答案,比如北京时间9月12日上午8点,对于格林威治地区的来说,这是9月12日0点,刚刚才告别9月11日。
原因是为什么呢?因为有一个太阳以及地球的自转,大家都把太阳高度角最大的时刻叫做12点,所以每个地方的12点都是不一样的
所以说:想要得到一个时间格式,我们不仅要知道当前的确切时间,而且要知道我们的位置。
时间格式 = 真实时刻(时间戳)+所处位置(时区)
在Python里,
- 获得时间戳
time.time()
返回当前时间戳 - 时间戳转时间格式
time.localtime(时间戳)
会返回对应时间戳的当地时间格式的元组,可以进一步格式化为其他时间格式的字符串。如果不填入时间戳
的话,会默认是当前的时间戳。
time.gmtime(时间戳)
会返回对应时间戳的格林威治时间格式的元组,可以进一步格式化为其他时间格式的字符串。如果不填入时间戳
的话,会默认是当前的时间戳。 - 时间格式转时间戳
注意!!!
time.mktime(时间元组)
默认时间元组为当地的时间元组!!!,如果你拥有一个GMT时间,需要将其转为当地时间再使用mktime!!!
比如:time.mktime(time.localtime(0))
会正常返回0,而time.mktime(time.gmtime(0))
则会提示错误!因为以为time.gmtime返回的是1970-1-1 00:00:00,输入mktime的是当地北京时间,而北京时间1970-1-1 00:00:00在Unix时间戳里是不存在的,是负数。
网友评论