起因
开发过程中遇到了时间格式的更改需求。源时间格式从zstack接口获取,类似这样的格式Dec 14, 2018 7:55:13 PM
,要转换成目标格式,类似这样2018-12-14 19:55:13
。其实只要在Python编程中遇到了和时间相关的问题,都可以用标准库datetime
和time
模块解决。
常用场景
字符串时间格式更改
先将源字符串时间用strptime
转换成时间数组,然后将时间数组用strftime
转换为目标格式的字符串。
例如将字符串Dec 14, 2018 7:55:13 PM
转换为2018-12-14 19:55:13
。
1 | from datetime import datetime |
time
模块也可以实现,稍有不同。
1 | import time |
做时间操作需要知道日期和时间的格式化参数,找到正确的时间格式参数,然后对号入座。
常用格式参数:
1 | %a 星期几简写 |
字符串时间转换为时间戳
字符串先转为时间数组,再转换为时间戳
1 | import time |
时间戳转换为指定格式时间字符串
时间戳先转换为时间数组,然后格式化为目标格式字符串
1 | import time |
获取当前时间并格式指定格式字符串
1 | import time |
或者用datetime
实现
1 | import datetime |
获取自定时间并格式
获取一天前的时间,timedelta()
参数可以是days, hours, seconds, microseconds
。
1 | import datetime |