任务
获得今天的日期,并以此计算昨天和明天的日期。
解决方案
方案一:
无论何时遇到有关“时间变化”或者“时间差”的问题,先考虑datetime包:
import datetime
today = datetime.date.today()
yesterday = today - datetime.timedelta(days = 1)
tomorrow = today + datetime.timedelta(days = 1)
print(yesterday,today,tomorrow)
#输出:2025-03-03 2025-03-04 2025-03-05
方案二:
在NumPy中,在NumPy.datetime64(‘today’, ‘D’)的帮助下,我们将找到今天的日期,如果我们想要今天之前的某个日期,那么我们将在np.timedelta64()的帮助下从今天减去无日期。如果我们想要今天之后的日期,那么我们将在np.timedelta64()的帮助下从今天开始加上日期编号。
import numpy as np
# for today
today = np.datetime64('today', 'D')
print("Today: ", today)
# for yesterday
yesterday = np.datetime64('today', 'D') - np.timedelta64(1, 'D')
print("Yestraday: ", yesterday)
# for tomorrow
tomorrow = np.datetime64('today', 'D') + np.timedelta64(1, 'D')
print("Tomorrow: ", tomorrow)
方案三:
如果想在日期和时间的计算上有点新花样,可以使用第三方包,如dateutil(可以和内建的 datetime 协同工作)和经典的mx.DateTimme。举个例子:
from dateutil import relativedelta
nextweek = today + relativedelta.relativedelta(weeks=1)
print(nextweek)#输出:2025-03-11
无论使用哪种方案,目的是使程序保持简单、整洁。