在Python中,试图找出用户的出生日期和现在之间的天数差异

2024-05-28 19:33:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习python(初学者),我被安排了一个任务,用python编写一个程序来找出用户的出生日期和现在的不同。我现在知道怎么计算时间了(日期时间。现在)以及如何要求用户输入内容(原始输入)。然而,这些答案的格式不同,因此无法从另一个中减去一个。有没有一种方法可以将它们转换成相同的格式,或者将它们切片(不确定这是否是正确的术语,所以baton[0:3]——单词baton中的前4个字符),然后转换成整数,然后减去功。关于堆栈溢出,还有一些其他答案,使用strptime(不确定这是什么)。然而,这些帖子讨论的是减去两个已经是相同格式的日期,并且程序知道这些日期(也就是说,不涉及使用输入)。以下是这些帖子: How do I calculate number of days betwen two dates using Python?python date difference in minutes和{a3} 我希望这些信息足够让人有所帮助。如果有人能帮助我,我将非常感激。谢谢!在


Tags: 方法答案用户程序内容格式时间切片
1条回答
网友
1楼 · 发布于 2024-05-28 19:33:06

您的问题似乎是:“如何将用户输入转换为日期时间(或日期)对象?”。您可以用固定格式询问日期,例如“yyyy-mm-dd”:

from datetime import datetime

# read birth day in yyyy-mm-dd format
while True:
    datestr = raw_input("Input your birthday (yyyy-mm-dd): ")
    try:
        birthday = datetime.strptime(datestr, "%Y-%m-%d")
    except ValueError as e:
        print("error: %s\nTry again." % (e,))
    else:
        break

number_of_days_since_birthday = (datetime.utcnow() - birthday).days

注意:它忽略了时间和时区的差异。在

如果你知道你生日的时间和地点(时区),你可以得到更精确的结果:

^{pr2}$

相关问题 更多 >

    热门问题