日期(pi日)

时间:2014-12-02 17:22:01

标签: python date

我认为每个人都会感到害羞(如果你不是每年3月14日都知道的话)。当您在python中得到结果时:

(2016, 4, 4)

(这代表2016年4月4日)。我怎样才能在下一个pi日快速找到它。在这个例子中,答案是:

(2017, 3, 14)

我可以使用任何公式吗?非常感谢!

2 个答案:

答案 0 :(得分:1)

使用datetime module你&#d;

  1. 获取今天的日期
  2. 今年获得Pi-day(从今天开始算起约会)
  3. 如果此日期已过去,请添加一年
  4. 在代码中:

    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)
    

答案 1 :(得分:0)

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月),如果是,则打印今年的Pi日。如果是3月,它确保它低于14日。如果它是在3月之后,它将在明年3月14日使用。