【发布时间】:2019-10-11 21:48:15
【问题描述】:
我正在尝试编写一个程序,
需要一定的秒数(比如 1000000000),然后
取给定日期(例如某人的生日)和
然后确定何时(在哪个给定日期)达到此年龄(以秒为单位)。
当然,程序应该识别以秒为单位的年龄是否是过去的。 但即使在对此进行检查之前,代码也会遇到问题。
收到错误消息后,我尝试在输入阶段将参数名称从月份更改为 umonth。这并没有什么不同。
from datetime import datetime
seconds = int(input("seconds: "))
year = int(input("year: "))
month = int(input("month: "))
day = int(input("day: "))
#Calculate time in seconds between now and the day of birth
date = (datetime(year=year, month=month, day=day) - datetime(seconds)).total_seconds()
print("You will be {} seconds old on {} old.".format(seconds, date))
我仍在涉足日期时间库。
我收到了来自 python3 的 TypeError。
“TypeError: 未找到必需的参数‘month’ (pos 2)”
编辑:
根据 cmets 中的建议,我修改了代码以使用一种新方法,将日期转换为秒。
from datetime import datetime
#seconds = int(input("seconds: "))
seconds = 1000000000
#year = int(input("year: "))
#month = int(input("month: "))
#day = int(input("day: "))
year = 1987
month = 9
day = 11
date = datetime.datetime(year,month,day)
#Calculate time in seconds between now and the day of birth
(date.total_seconds(datetime(year=year, month=month, day=day)) - seconds)
print("You will be {} seconds old on {} old.".format(seconds, date))
这会产生 AttributeError: type object 'datetime.datetime' has no attribute 'datetime'
我知道我不确切知道如何使用日期时间库。 阅读文档以了解。
但是,这些事情似乎微不足道。 也许有人可以解释一下。
和以前一样,目标是计算几秒钟和一个出生日期。 并查看从出生日期算起的秒数。
【问题讨论】:
-
datetime(seconds)是这里的问题,你为什么这样做? -
尝试从指定的出生日期减去从输入中收到的秒数。
-
是的,行会导致错误
"TypeError: Required argument 'month' (pos 2) not found",为什么不直接减去秒而不是转换为日期时间? -
那么如何将输入的日期转换为秒?此外,还要进行健全性检查,以确保达到日期。过去是否已经达到。如果达到过去的时候。
-
date.total_seconds()表示日期到秒。对于健全性检查,您可以相应地考虑您的逻辑
标签: python-3.x datetime datetime-format