Python time三种时间转换小结
作者:盆友圈的小可爱
复习回顾
我们已经对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)
总结
本期,主要对Time模块中三种形式的时间格式进行梳理和总结。time模块核心对象是struct_time,通过它可以对时间进行不同形式的转换。
到此这篇关于Python time三种时间转换小结的文章就介绍到这了,更多相关Python time时间转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!