首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(Python)我如何编写一个程序来计算一个人已经活了多少天?

问(Python)我如何编写一个程序来计算一个人已经活了多少天?
EN

Stack Overflow用户
提问于 2021-09-11 11:04:25
回答 1查看 61关注 0票数 0

我是python的新手,我想知道是否有人可以帮我做一个程序,从你的出生日期计算你活着的日子。我不想使用datetime库。任何帮助都将不胜感激!

这是我到目前为止所得到的:

代码语言:javascript
复制
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")
EN

回答 1

Stack Overflow用户

发布于 2021-09-11 11:09:09

请使用strptime将日期字符串解析为datetime对象:

代码语言:javascript
复制
import datetime
birthdate = datetime.datetime.strptime(birthdate_str, '%Y/%m/%d')
now = datetime.datetime.now()

然后,两个datetime对象之间的减法将返回一个timedelta对象,您可以从中读取days属性:

代码语言:javascript
复制
print((now - birthdate).days)

编辑:

要在不使用datetime库的情况下完成此操作,您可以将日期转换为天数(即从0/0/0开始),然后执行算术减法:

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69142368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档