我認爲每個人都會在pi-Day(如果你不知道它是在每年的3月14日)的時候kwows。當你在python中得到如下結果時:日期(pi-Day)
(2016, 4, 4)
(代表2016年4月4日)。在下一個pi-Day時,我如何快速找到答案。在這個例子中答案是:
(2017, 3, 14)
有沒有我可以使用的公式?非常感謝!
我認爲每個人都會在pi-Day(如果你不知道它是在每年的3月14日)的時候kwows。當你在python中得到如下結果時:日期(pi-Day)
(2016, 4, 4)
(代表2016年4月4日)。在下一個pi-Day時,我如何快速找到答案。在這個例子中答案是:
(2017, 3, 14)
有沒有我可以使用的公式?非常感謝!
使用datetime
module你會:
在代碼:
from datetime import date
def next_pi_date():
today = date.today()
pi_date = date(today.year, 3, 14)
if pi_date < today:
pi_date = pi_date.replace(year=pi_date.year + 1)
return pi_date
演示:
>>> from datetime import date
>>> def next_pi_date():
... today = date.today()
... pi_date = date(today.year, 3, 14)
... if pi_date < today:
... pi_date = pi_date.replace(year=pi_date.year + 1)
... return pi_date
...
>>> next_pi_date()
datetime.date(2015, 3, 14)
太棒了!非常感謝Martijn。 – Victor 2014-12-02 17:34:22
import datetime
dates = [
datetime.datetime(2014,2,4),
datetime.datetime(2014,3,4),
datetime.datetime(2014,3,27),
datetime.datetime(2014,4,4),
]
for d in dates:
if d.month < 3:
print datetime.datetime(d.year, 3, 14)
elif d.month == 3 and d.day <= 14:
print datetime.datetime(d.year, 3, 14)
else:
print datetime.datetime(d.year+1, 3, 14)
輸出:
2014-03-14 00:00:00
2014-03-14 00:00:00
2015-03-14 00:00:00
2015-03-14 00:00:00
這是檢查每月小於3(月),如果是,版畫今年的圓周率日。如果是3月份,它確保它不到14日。如果是在3月以後,它將在明年3月14日使用。
'next_year = current_year + 1'? – Kevin 2014-12-02 17:24:18
'if(year,month,day)>(year,3,14):year + = 1'。 – 2014-12-02 17:28:06