在python中计算你的下一个生日的天数

在python中计算你的下一个生日的天数,第1张

概述在上面的代码中,我想计算直到下一个生日天数,但输出错误. 应该是什么: 我的出生日:2002年2月20日=>我生日前203天(今天是2018年7月31日) 实际上是什么: 输入:2002年2月20日=> 179天 我的代码: import datetimedef get_user_birthday(): year = int(input('When is your birthday 在上面的代码中,我想计算直到下一个生日的天数,但输出错误.
应该是什么:
我的出生日:2002年2月20日=>我生日前203天(今天是2018年7月31日)
实际上是什么:
输入:2002年2月20日=> 179天

我的代码:

import datetimedef get_user_birthday():    year = int(input('When is your birthday? [YY] '))    month = int(input('When is your birthday? [MM] '))    day = int(input('When is your birthday? [DD] '))    birthday = datetime.datetime(year,month,day)    return birthdaydef calculate_dates(original_date,Now):    date1 = Now    date2 = datetime.datetime(Now.year,original_date.month,original_date.day)    delta = date2 - date1    days = delta.total_seconds() / 60 /60 /24    return daysdef show_info(self):    passbd = get_user_birthday()Now = datetime.datetime.Now()c = calculate_dates(bd,Now)print(c)
解决方法 一些问题:

>必须将年份指定为完整的整数,即2002,而不是02(或2).
>您需要检查您的出生日期是否已过去.

以下是解决这两个问题的解决方案.鉴于您在2002年2月20日和今天的日期31-Jul-2018的输入,您的下一个生日是在203天的时间.

另外,请注意,您可以使用timedelta对象的days属性,该属性将向下舍入到203天并避免小数精度.

from datetime import datetimedef get_user_birthday():    year = int(input('When is your birthday? [YY] '))    month = int(input('When is your birthday? [MM] '))    day = int(input('When is your birthday? [DD] '))    birthday = datetime(2000+year,day)    return birthdaydef calculate_dates(original_date,Now):    delta1 = datetime(Now.year,original_date.day)    delta2 = datetime(Now.year+1,original_date.day)    days = (max(delta1,delta2) - Now).days    # alternatively:    # days = max(delta1,delta2).total_seconds() / 60 / 60 /24    return daysbd = get_user_birthday()Now = datetime.Now()c = calculate_dates(bd,Now)print(c)When is your birthday? [YY] 02When is your birthday? [MM] 02When is your birthday? [DD] 20113
总结

以上是内存溢出为你收集整理的在python中计算你的下一个生日的天数全部内容,希望文章能够帮你解决在python中计算你的下一个生日的天数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1206507.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存