我正在尝试计算'then'和'now'之间的时差。我已经改变了格式,以便我可以更好地进行比较(我不需要秒或纳秒等)
'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: function接受最多3个参数(给定8个)
日期(加密)应为2015,7,1
有人知道这个魔术吗?
尝试使用datetime.strptime()
将字符串解析为日期。
,
>>> s = "2015,7,1"
>>> from datetime import datetime
>>> d = datetime.strptime(s,'%Y,%m,%d').date()
>>> d
datetime.date(2015, 7, 1)
这是基于假设字符串中的第二个数字是月,第三个数字是日期,如果相反,则在'%Y,%m,%d'
中交换%m
和%d
。