当前位置:主页 > 软件编程 > Python代码 >

Python time三种时间转换小结

时间:2022-10-24 08:52:40 | 栏目:Python代码 | 点击:

复习回顾

我们已经对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,通过它可以对时间进行不同形式的转换。

您可能感兴趣的文章:

相关文章