Python time三种时间转换小结
作者:盆友圈的小可爱 时间:2022-05-15 18:38:20
复习回顾
我们已经对Python内置模块-time中知道时间格式目前有三种。
时间戳
结构化时间
字符串时间
本期,我们将继续深入对time模块中所涉及的三种时间进行学习,Let's go~
1. time模块源代码描述
我们通过import time导入time后,可以通过长按CTRL键后查看到time.pyi文件
查看time.pyi文件,我们会得知如下信息
time模块中属性的类型,时间都是int
列出方法头部名称和返回值信息,可以通过左侧星号跳转查看具体的方法详情
2. time模块核心对象
time 模块通过系统底层的计时器获取秒数(类型为整型或者浮点型),我们常说的POSIX时间戳。
time 模块中只有一个类:time.struct_time。类型为元组
struct_time 将时间戳转换成结构化时间对象,时间相关的属性存入到nametuple元组里。
同时也可以调用gmtime,localtime,strptime方法来得到结果化时间对象。
3. 时间戳与结构化时间转换
时间戳转换成结构化时间
使用time.localtime([sec])转换成一个本地时区的struct_time对象。如果sec为空,则使用time.time()得到的返回值
local = time.localtime(1635566119)
print("local时间戳转换成结构化时间:",local)
使用time.gmtime([sec]) 转换成一个UTC区的struct_time对象。如果sec为空,则使用time.time()得到的返回值
now = time.time()
gmt = time.gmtime(now)
print("utc时间戳转换成结构化时间:",gmt)
结构化时间转换成时间戳
使用time.mktime(t)将一个结构化对象转换成秒数
mk = time.mktime(time.localtime())
print(mk)
4. 字符串时间与结构化时间转换
字符串时间转换成结构化时间
使用time.strptime(string[,format]) 将一个字符串按照指定的fromat编码解析为结构化时间,format默认值为"%a %b %d %H:%M:%S %Y"
str = time.strptime("2021-10-29 21:07:24","%Y-%m-%d %H:%M:%S")
print(str)
结构化时间转换成字符串
使用time.strftime(fromat,[,t]) 将结构化时间对象按照指定fromat编码格式化为字符串,t 默认为 time.localtime()的返回值
strf = time.strftime("%Y-%m-%d %H:%M:%S")
print(strf)
来源:https://juejin.cn/post/7024736331515297806