编程中常常用到对时间的计算与转换,Python中内置的time模块可以很好地解决相关的问题
工具/原料
任意Python3版本IDE
time模块中时间表现的格式
1、timestamp 时间戳:这是一个浮点数值,时表示的是从1970年1月1日00:00:00开始按秒计算的偏移量,可以精确到微秒。使用 time.time() 可以获得当前的时间戳
2、struct_time:时间对象,包含年、月、日、时、分、秒等九个字段,使用 time.localt足毂忍珩ime() 可以获得当前本地时区的时间对象,使用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错误
时间戳与时间字符串之间的转换
1、时间戳和时间字符串之间不能直接转换,需要先转换为时间对象再转换,具体步骤参考上面“时间戳和时间对象之间转换”和“时间对象和时间字符串之间转换”