概述
我的代码:
import datetime def 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 birthday def 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 days def show_info(self): pass bd = 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 datetime def 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 birthday def 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 days bd = get_user_birthday() Now = datetime.Now() c = calculate_dates(bd,Now) print(c) When is your birthday? [YY] 02 When is your birthday? [MM] 02 When is your birthday? [DD] 20 113
总结
以上是编程之家为你收集整理的在python中计算你的下一个生日的天数全部内容,希望文章能够帮你解决在python中计算你的下一个生日的天数所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧