在python 开发web程序时,需要调用第三方的相关接口,在调用时,需要对请求进行签名。需要用到unix时间戳。
在python里,在网上介绍的很多方法,得到的时间戳是10位。而java里默认是13位(milliseconds,毫秒级的)。
下面介绍python获得时间戳的方法:
10时间戳获取方法:
>>> import time
>>> t = time.time()
>>> print t
1436428326.76
>>> print int(t)
1436428326
>>>
强制转换是直接去掉小数位。
13位时间戳获取方法:
(1)默认情况下python的时间戳是以秒为单位输出的float
>>>
>>> import time
>>> time.time()
1436428275.207596
>>>
通过把秒转换毫秒的方法获得13位的时间戳:
import time
millis = int(round(time.time() * 1000))
print millis
round()是四舍五入。
(2)
import time
current_milli_time = lambda: int(round(time.time() * 1000))
Then:
>>> current_milli_time()
1378761833768
13位时间 戳转换成时间:
>>> import time
>>> now = int(round(time.time()*1000))
>>> now02 = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(now/1000))
>>> now02
'2017-11-07 16:47:14'