【发布时间】: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)
。encrypted
是decrypt()
调用结果的错误名称,请改用date_string
。
标签:
python
date
datetime
integer
timedelta
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python时间整数问题 - Python技术站