【问题标题】:Python time integer issuePython时间整数问题
【发布时间】:2023-04-04 03:14:01
【问题描述】:

我正在尝试计算“当时”和“现在”之间的时间差。我改变了格式,以便更好地比较它(我不需要秒或纳秒等)

'then' 时间来自加密,并且正在被解析以进行比较,这就是我担心的错误。

def decrypt_and_compare_date():
        from Crypto.Cipher import XOR
        from datetime import timedelta, datetime, date
        import base64
        import config
        cipher = XOR.new(cryptopassword)
        encrypted = cipher.decrypt(base64.b64decode(config.event_date))
        then = date(encrypted)
        now = date(2015,10,5)
        days = (now - then).days
        print days + " days ago."

给我以下错误:

TypeError:需要一个整数

如果我在这一行使用 *:

    then = date(encrypted)

然后它会解析我这个错误。

TypeError:函数最多接受 3 个参数(给定 8 个)

日期(加密)应该是2015,7,1

有人知道魔术吗?

【问题讨论】:

  • encrypted的值是多少?
  • date("2015,7,1")date(2015,7,1) 不同,请改用date(*map(int, date_string.split(",")))。你不能使用1 + " days ago",使用"%d days ago" % days。 Python 是强类型的。了解对象与其字符串表示之间的区别(打开 REPL,导入您的模块并使用其中的各种对象:调用 repr(obj)str(obj)print(obj)type(obj)isinstance(obj, str)encrypteddecrypt() 调用结果的错误名称,请改用 date_string

标签:
python
date
datetime
integer
timedelta