时间计算是非常基本的,在 Python 中已经有了非常方便的实现。
标准库 datetime
Python 自带标准库,功能都有,无需额外安装。
加时间
datetime2 = datetime1 + timedelta
from datetime import datetime, timedelta
datetime1 = datetime(year=2020, month=1, day=1, hour=19, minute=0)
datetime2 = datetime1 + timedelta(hours=1)
print(datetime2.strftime('%Y-%m-%d %H:%M:%S'))
减时间
datetime2 = datetime1 - timedelta
from datetime import datetime, timedelta
datetime1 = datetime(year=2020, month=1, day=1, hour=19, minute=0)
datetime2 = datetime1 - timedelta(hours=1)
print(datetime2.strftime('%Y-%m-%d %H:%M:%S'))
时间间隔
timedelta1 = datetime2 - datetime1
from datetime import datetime
datetime1 = datetime(year=2020, month=1, day=1, hour=19, minute=0)
datetime2 = datetime(year=2020, month=1, day=1, hour=20, minute=0)
timedelta1 = datetime2 - datetime1
第三方库 dateutil
pip install python-dateutil
使用类似标准库,功能更强大。
from datetime import datetime
from dateutil.relativedelta import relativedelta
datetime1 = datetime.today()
datetime2 = datetime1 + relativedelta(hours=+1)
第三方库 arrow
pip install arrow
另一种风格,很轻量,功能也不错。
import arrow
arw = arrow.utcnow()
arw.shift(weeks=+3)
第三方库 moment
pip install moment
灵感来自 moment.js,设计理念简单。
import moment
moment.date([2020, 4, 1]).add(days=2).subtract(weeks=3).done()