python的时差

时间:2014-04-15 09:29:54

标签: python

from datetime import datetime
t=str(datetime.now())

我将这次存储在varchar格式的mysql表中。现在我想从mysql表中检索这个时间并从当前时间中减去它。 我该怎么做?

3 个答案:

答案 0 :(得分:1)

这取决于你将它存储为varchar,所以你可能需要将它恢复到日期时间? (就像sqlalchemy会为你做这件事)

您可以使用datetime.strptime将字符串(varchar)转换回日期时间对象。

然后

datetime.now() - retrieved_time

会给你一个datetime.timedelta对象

修改:按要求提供帮助

>>> from datetime import datetime
>>> t = datetime.now()
>>> print t
2014-04-16 08:33:22.309991

您应该在数据库中存储的格式

>>> stored_t = datetime.strptime('2014-04-10 08:32:00.934079', "%Y-%m-%d %H:%M:%S.%f") # You should be getting this from your db
>>> print stored_t
2014-04-10 08:32:00.934079
>>> td = t - stored_t
>>> print td
6 days, 0:01:21.375912

答案 1 :(得分:0)

这分为两个独立的任务:

  • 如何从字符串here解析日期。

  • 如何使用python中的mysql here

答案 2 :(得分:0)

试试这个, 这是demo

>>> from datetime import datetime
>>> now=datetime.now()
>>> d1='2014-4-14' #get this from database.
>>> d1 = datetime.strptime(d1, "%Y-%m-%d")
>>> (now-d1).days

输出:

1