gpt4 book ai didi

python - 在 Python 中处理闰年

转载 作者:太空宇宙 更新时间:2023-11-03 12:51:30 25 4
gpt4 key购买 nike

我有一个程序,用户可以在其中输入一个日期,然后将其与另一个日期进行比较,看看哪个日期先出现。

如果用户输入 2 月 29 日而程序返回 2 月 28 日(因为没有闰年),我该如何编写代码?

示例:

def date(prompt):
''' returns the date that user inputs and validates it'''
while True:
try:
date = raw_input(prompt)
if len(date) >= 5:
month = date[0:2]
day = date[3:5]
dateObject = datetime.date(2011, int(month), int(day))
return dateObject
except ValueError:
print "Please enter a valid month and day"

最佳答案

你如何比较日期?如果您使用 datetime函数那么这应该已经说明了这类东西。

>>> datetime.datetime(2011, 2, 28)
datetime.datetime(2011, 2, 28, 0, 0)

>>> datetime.datetime(2011, 2, 29)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: day is out of range for month

>>> datetime.datetime(1600, 2, 29)
datetime.datetime(1600, 2, 29, 0, 0)

datetime.timedelta()用来表示两个日期的差值

>>> datetime.datetime(2011, 2, 28) + datetime.timedelta(days=10)
datetime.datetime(2011, 3, 10, 0, 0)

>>> datetime.datetime(1600, 2, 28) + datetime.timedelta(days=10)
datetime.datetime(1600, 3, 9, 0, 0)

>>> datetime.datetime(2011, 2, 28) - datetime.datetime(2011, 4, 10)
datetime.timedelta(-41)

不知道这如何适合您的代码,但它可能是一个选项 ;-)

关于python - 在 Python 中处理闰年,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5319103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com