Python日期时间模块
我的项目是让用户输入他们的出生日期,计算机输出他们活了多少天,他们有多大,离下一个生日还有多少天,以及他们出生的工作日 我已经设法做到了所有这些,但当我到了离他们下一个生日还有多少天的时候,我必须让用户输入他们的下一个生日——我需要这样做,以便它使用原始输入而不是新输入 我怎样才能得到它,这样他们就不需要输入他们的下一个生日 我已经计算出,如果你把用户的年龄加到生日年,它可以给你天数,而不需要输入你的下一个生日。但我不知道该怎么加上去。我可以在一年中添加一个数字,即1或14,但不能添加变量Python日期时间模块,python,python-2.7,python-3.x,datetime,Python,Python 2.7,Python 3.x,Datetime,我的项目是让用户输入他们的出生日期,计算机输出他们活了多少天,他们有多大,离下一个生日还有多少天,以及他们出生的工作日 我已经设法做到了所有这些,但当我到了离他们下一个生日还有多少天的时候,我必须让用户输入他们的下一个生日——我需要这样做,以便它使用原始输入而不是新输入 我怎样才能得到它,这样他们就不需要输入他们的下一个生日 我已经计算出,如果你把用户的年龄加到生日年,它可以给你天数,而不需要输入你的下一个生日。但我不知道该怎么加上去。我可以在一年中添加一个数字,即1或14,但不能添加变量 ne
next_birthday = birthday.replace(year=birthday.year+ 14)
import datetime
from datetime import date
birthday=input("When is your birthday ['yyyy-mm-dd' format] : ")
birthday=datetime.datetime.strptime(birthday,"%Y-%m-%d").date()
today = datetime.date.today()
age = (today - birthday)
print("You are " + str(age.days) + " days old")
days = (age.days)
years = days/365
print("Or " + str(years) + " years old")
weekday = date.weekday(birthday)
days= ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
print ("You were born on the day number %d" % weekday)
print ("Which was a " + days[weekday])
birthdate=input("When is your next Birthday ['yyyy-mm-dd' format] : ")
birthdate=datetime.datetime.strptime(birthdate,"%Y-%m-%d").date()
while birthdate == today:
print ("Happy Birthday")
break
else:
import datetime
today = datetime.date.today()
daystill = (birthdate- today).days
print (daystill, "Days untill your Birthday")
只需在年份中添加1:
birthday=datetime.datetime.strtime('2000-01-01',%Y-%m-%d').date()
next_birth=birth.replace(year=age.year+1)
如果我这样做,程序只会输出一个负数的天数,直到下一个生日。这将庆祝1岁生日,而不是下一个生日