环境
- windows 10 64bit
- python 3.8
前言
对于我们日常熟知的时间,如"2021-05-25 23:07:12",在计算机中更多的是用时间戳来表示,如"1621955367",本文就来看看它们之间的转换,使用的是 python
中的内置模块 time
。
时间转换成时间戳
import time
t = "2021-05-25 23:07:12"
# 按格式转换成时间数据结构,这个结构与C语言中的时间结构一致
t_s = time.strptime(t, "%Y-%m-%d %H:%M:%S")
print(t_s)
# 转换成时间戳
timestamp = time.mktime(t_s)
print(timestamp)
程序运行的结果
time.struct_time(tm_year=2021, tm_mon=5, tm_mday=25, tm_hour=23, tm_min=7, tm_sec=12, tm_wday=1, tm_yday=145, tm_isdst=-1)
1621955232.0
时间戳转换成时间
import time
timestamp = 1621955232.0
# 转换成localtime
t_s = time.localtime(timestamp)
print(t_s)
# 转换成新的时间格式
# strptime()函数将时间转换成时间数据结构,而strftime()函数是重新格式化时间
t = time.strftime("%Y-%m-%d %H:%M:%S", t_s)
print(t)
程序运行结果
time.struct_time(tm_year=2021, tm_mon=5, tm_mday=25, tm_hour=23, tm_min=7, tm_sec=12, tm_wday=1, tm_yday=145, tm_isdst=0)
2021-05-25 23:07:12