在Python中处理时间是非常繁琐的一件事,每次在时间上都要浪费很多的时间。在GitHub上看到了arrow,发现这个模块处理时间,包括时间的运算非常的简单、方便。
现在说一下几个常用的时间处理:
首先安装模块
pip install arrow
1.可以很轻松的获取UTC的标准时间,这样在处理时间的时候就可以直接获取UTC的标准时间。
utc = arrow.utcnow()
utc_format = utc.format('YYYY-MM-DD HH:mm:ss')
print(utc_format)
2.通过Arrow获取标准的Asia/Shanghai时间
utc = arrow.utcnow()
utc_Shanghai = utc.replace(hours=+8).format('YYYY-MM-DD HH:mm:ss')
print(utc_Shanghai)
3.时间推移,我们可以通过这个模块获取未来的时间、或者过去的时间。
1) 未来几分钟,或者过去几分钟
utc = arrow.utcnow()
utc = utc.shift(minutes=-5) # -5 代表过去的时间 +5 代表未来的时间
utc_Shanghai = utc.replace(hours=+8).format('YYYY-MM-DD HH:mm:ss') # +8 可以转换成Asia/Shanghai时间
print(utc_Shanghai)
2)未来几个小时,或者过去几个小时
utc = arrow.utcnow()
utc = utc.shift(hours=-5) # -5 代表过去的时间 +5 代表未来的时间
utc_Shanghai = utc.replace(hours=+8).format('YYYY-MM-DD HH:mm:ss') # +8 可以转换成Asia/Shanghai时间
print(utc_Shanghai)
3)未来一天,或者过去一天。
utc = arrow.utcnow()
utc = utc.shift(days=-1) # -1 代表过去的时间 +1 代表未来的时间
utc_Shanghai = utc.replace(hours=+8) # +8 可以转换成Asia/Shanghai时间
print(utc_Shanghai)
4) 未来几周,或者过去几周、
utc = arrow.utcnow()
utc = utc.shift(weeks=-1) # -1 代表过去的时间 +1 代表未来的时间
utc_Shanghai = utc.replace(hours=+8) # +8 可以转换成Asia/Shanghai时间
print(utc_Shanghai)
5)未来几个月,或者过去几个月
utc = arrow.utcnow()
utc = utc.shift(months=-5) # -1 代表过去的时间 +1 代表未来的时间
utc_Shanghai = utc.replace(hours=+8).format('YYYY-MM-DD HH:mm:ss') # +8 可以转换成Asia/Shanghai时间
print(utc_Shanghai)
6) 未来几年,或者过去几年
utc = arrow.utcnow()
utc = utc.shift(years=-5) # -5 代表过去的时间 +5 代表未来的时间
utc_Shanghai = utc.replace(hours=+8).format('YYYY-MM-DD HH:mm:ss') # +8 可以转换成Asia/Shanghai时间
print(utc_Shanghai)
- 时间运算:
减去时间、或者加时间(其他的时间运算大致相同,就不一一举例了。)
now = arrow.utcnow().replace(hours=+8)
print(now)
utc = arrow.utcnow()
formerly_weeks = utc.shift(weeks=-1) # -1 代表过去的时间 +1 代表未来的时间
formerly_weeks = formerly_weeks.replace(hours=+8) # +8 可以转换成Asia/Shanghai时间
print(formerly_weeks)
now = now - formerly_weeks # 现在的时间减去过去的一周的时间
print("相差的时间%s" %now)
希望可以帮助到您