我是python的新手,我想知道是否有人可以帮我做一个程序,从你的出生日期计算你活着的日子。我不想使用datetime库。任何帮助都将不胜感激!
这是我到目前为止所得到的:
date_of_birth = (input("Enter Date of Birth (YYYY/MM/DD):"))
now_date = ("2021/09/11")
days = date_of_birth[8:10]
months = date_of_birth[5:7]
years = date_of_birth[0:4]
if len(date_of_birth) == 10:
print ("Working")
else:
print ("Invalid date of birth")发布于 2021-09-11 11:09:09
请使用strptime将日期字符串解析为datetime对象:
import datetime
birthdate = datetime.datetime.strptime(birthdate_str, '%Y/%m/%d')
now = datetime.datetime.now()然后,两个datetime对象之间的减法将返回一个timedelta对象,您可以从中读取days属性:
print((now - birthdate).days)编辑:
要在不使用datetime库的情况下完成此操作,您可以将日期转换为天数(即从0/0/0开始),然后执行算术减法:
def date_to_days(y, m, d):
monthDays = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
n = y * 365 + d
for i in range(m):
n += monthDays[i]
l = y # leap days count
if m <= 2: l -= 1
l = l // 4 - l // 100 + l // 400
n += l
return n
def date_diff(y1, m1, d1, y2, m2, d2):
return date_to_days(y2, m2, d2) - date_to_days(y1, m1, d1)https://stackoverflow.com/questions/69142368
复制相似问题