Python时间戳和日期格式之间的相互转化
将10位或13位时间戳转为日期格式(年-月-日 时-分-秒)
python毫秒时间戳转为字符串时间
java默认精度是毫秒级别的,生成的时间戳是13位,
而python默认是10位的,精度是秒。如print(time.time())是1691737655.228277
python将时间戳转换为日期(年-月-日 时-分-秒)
Unix 时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
13位是毫秒时间戳,如1691737219243
10位是秒时间戳 如1691737433
10位秒时间戳最大 9999999999 是2286年11月21日
时间戳在线转换网址时间戳(Unix timestamp)转换工具 - 在线工具
import time
# 时间戳转格式时间 如1640102400 > [2021-12-22 00:00:00]
def timestamp_to_timestr(timestamp001):
if timestamp001 > 9999999999: # 秒时间戳是10位数的 如毫秒时间戳直接除
timestamp001 = timestamp001 // 1000 # 整除
time_new = time.localtime(timestamp001) # 时间戳 改 格式时间 time()是10位加小数点
time_new = time.strftime("[%Y-%m-%d %H:%M:%S]", time_new) # 时间戳 改 格式时间
return time_new
# 格式时间转时间戳 【2021-12-22 13:26:34】 > 1640102400 十位秒级时间戳
def timestr_to_timestamp(stamp001):
time_int = time.strptime(stamp001, "%Y-%m-%d %H:%M:%S")
time_int = int(time.mktime(time_int)) # 1640102400 十位秒级 转换为:2021-12-22 00:00:00
return time_int
# 得到当前格式时间 如[2022-02-02 18:08:07]
def times():
time_new = time.localtime(time.time())
time_new = time.strftime("[%Y-%m-%d %H:%M:%S]", time_new)
return time_new
print('方法time.time()是10位数的秒时间戳', time.time()) # 结果如:1688544137.4303613
print('时间戳转格式时间', timestamp_to_timestr(1640102400))
print('格式时间转时间戳', timestr_to_timestamp('2021-11-11 09:18:03'))
print('获取当前格式时间', times())