python获取10位和13位时间戳的小问题
2019-04-25 本文已影响0人
阿萱555
以前不知道时间戳还要13位的,昨天遇到了,今天来打个卡,啊哈哈哈,因为java默认精度是毫秒级别的,生成的时间戳是13位,而python默认是10位的,精度是秒,所以是精度不一样导致的,下面是一些转换的方法,供参考。
一、当前时间转换成时间戳
1. 获取10位时间戳
import time
t = time.time() -> 获取的是浮点数
print(int(t)) -> 强制转换去小数
2.获取13位时间戳 -> 把秒转换毫秒
import time
t= int(round(time.time()*1000)) -> round是四舍五入
print(t)
二、时间戳转换成时间
1. 10位时间戳转换成时间
timestamp = 1436428275
urltimeArr = time.localtime(int(timestamp)) ->格式化时间戳为本地的时间
t = time.strftime("%Y-%m-%d %H:%M:%S", urltimeArr) -> 格式化时间
print(t)
2. 13位时间戳转换成时间
import time
now = int(round(time.time()*1000)) -> 取整,如若已是整数,无需走这步
t= time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(now/1000)) -> 格式化时间
print(t) -> 毫秒级别