【问题标题】:Find date upon which defined age in seconds is reached查找达到以秒为单位的定义年龄的日期
【发布时间】:2019-10-11 21:48:15
【问题描述】:

我正在尝试编写一个程序,

  1. 需要一定的秒数(比如 1000000000),然后

  2. 取给定日期(例如某人的生日)和

  3. 然后确定何时(在哪个给定日期)达到此年龄(以秒为单位)。

当然,程序应该识别以秒为单位的年龄是否是过去的。 但即使在对此进行检查之前,代码也会遇到问题。

收到错误消息后,我尝试在输入阶段将参数名称从月份更改为 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


【解决方案1】:
AttributeError: type object 'datetime.datetime' has no attribute 'datetime'

您收到上述错误是因为您已经使用了导入日期时间。无需编写 datetime.datetime。您可以直接使用日期时间(年、月、日)。

【讨论】:

    猜你喜欢
    • 2014-02-27
    • 1970-01-01
    • 1970-01-01
    • 2011-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-12
    • 1970-01-01
    相关资源
    最近更新 更多