当前位置:首页 >> 脚本专栏

python获取时间戳的实现示例(10位和13位)

在python 开发web程序时,需要调用第三方的相关接口,在调用时,需要对请求进行签名。需要用到unix时间戳。
 在python里,在网上介绍的很多方法,得到的时间戳是10位。而java里默认是13位(milliseconds,毫秒级的)。

下面介绍python获得时间戳的方法:

1、10时间戳获取方法:

> import time
> t = time.time()
> print t
1436428326.76
> print int(t)
1436428326
> 

强制转换是直接去掉小数位。

2、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'