python获取10位和13位时间戳的小问题

以前不知道时间戳还要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)  -> 毫秒级别

你可能感兴趣的:(python获取10位和13位时间戳的小问题)