Python时间整数问题

时间:2015-07-10 11:35:17

标签: python date datetime integer timedelta

我正在尝试计算'then'和'now'之间的时差。我已经改变了格式,以便我可以更好地比较它(我不需要秒或纳秒等)

'那时'的时间来自于一个ecryption,并且正在被解析以进行比较,这就是我害怕的错误。

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

有谁知道这个魔术?

1 个答案:

答案 0 :(得分:0)

尝试使用datetime.strptime()将字符串解析为日期。

示例 -

>>> s = "2015,7,1"
>>> from datetime import datetime
>>> d = datetime.strptime(s,'%Y,%m,%d').date()
>>> d
datetime.date(2015, 7, 1)

这是基于以下假设:字符串中的第二个数字是月份,第三个是日期,如果相反,则在%m中交换%d'%Y,%m,%d'