0

我在获取一些日期时间转换时遇到问题。我实际上正在使用 django,并且在其中一个模型字段中我使用了date字段而不是datetime字段。现在我需要显示时差,我从 djangosnippets 获得了它的片段。但这接受时间戳。

所以我很困惑实际上是什么python时间戳以及它是如何制作的。我尝试了不同的东西,如下所示:

publish_date.timetuple()

但这说,'datetime.date' object has no attribute 'mktime'.我猜 datetime.datetime 有这个 mktime 但没有 datetime.date 所以我不能使用它。

int(parse(publish_date).strftime('%s'))

这里 parse 来自一个名为 dateutil 的第三方模块,但这次它给出了以下错误。

datetime.date' object has no attribute 'read'

它对以下代码给出了相同的错误:

humanizeTimeDiff(publish_date)

因此,我应该尝试将 datetime.date 对象转换为时间戳的任何更好的想法或方法。似乎转换 datetime.datetime 也会有所帮助。但是如何?

4

1 回答 1

2

由于您的数据库中没有任何时间信息(只有日期),您只能计算天数的差异。为此,只需减去日期对象。这将产生一个表示两个日期(或日期时间)timedelta对象之间差异的对象。

>>> d1
datetime.date(2012, 9, 16)
>>> d2
datetime.date(2012, 9, 17)
>>> d2-d1
datetime.timedelta(1)
>>> print d2-d1
1 day, 0:00:00
>>> print (d2-d1).days
1
于 2012-09-17T04:52:23.000 回答