多语言展示
当前在线:1823今日阅读:27今日分享:41

Python中时间格式转换

编程中常常用到对时间的计算与转换,Python中内置的time模块可以很好地解决相关的问题
工具/原料

任意Python3版本IDE

time模块中时间表现的格式
1

timestamp 时间戳:这是一个浮点数值,时表示的是从1970年1月1日00:00:00开始按秒计算的偏移量,可以精确到微秒。使用 time.time() 可以获得当前的时间戳

2

struct_time:时间对象,包含年、月、日、时、分、秒等九个字段,使用 time.localtime() 可以获得当前本地时区的时间对象,使用 time.gmtime()可以获得当前标准时区的时间对象,因为我们使用的都是+8区,可以看到本地时间比标准时间快8个小时

3

format_time:格式化时间字符串,就是我们通常看到的时间表示,可以根据需要设置格式填充,如:“2019/10/07 13:15:17”或  “10/07/2019 13时15分17秒”等

时间戳与时间对象之间转换
1

时间戳转为时间对象,直接将时间戳数值作为参数传入 time.localtime(timestamp) 即可,返回的就是struct_time时间对象。

2

时间对象转为时间戳,则是将时间对象作为参数传入 time.mktime(struct_time) ,返回的就是timestamp 时间戳数值

时间对象与时间字符串之间转换
1

struct_time时间对象转时间字符串,使用 time.strftime(格式字符串, struct_time) 返回根据格式字符串生成的时间字符串,其中各元素的表示如下:%Y    完整的年份%y    去掉世纪的年份(00 - 99)%m    月份(01 - 12)%d    一个月中的第几天(01 - 31)%H    一天中的第几个小时(24小时制,00 - 23)%M    分钟(00 - 59)%S    秒(01 - 61)

2

时间字符串转struct_time时间对象,使用 time.strptime(时间字符串, 格式字符串) 返回转换出的struct_time时间对象,但要注意,如果格式不匹配会报ValueError错误

时间戳与时间字符串之间的转换

时间戳和时间字符串之间不能直接转换,需要先转换为时间对象再转换,具体步骤参考上面“时间戳和时间对象之间转换”和“时间对象和时间字符串之间转换”

注意事项

注意:因为struct_time时间对象精度为秒,因此转换后会丢失秒之后的数值

推荐信息