如何在Django/Python中计算这两个日期的差?

-1 投票
1 回答
813 浏览
提问于 2025-04-17 19:28

我这样获取开始日期:start_date1 = datetime.datetime.utcnow().replace(tzinfo=utc)

然后把结束日期作为函数的参数传入,像这样:

a(datetime.datetime.utcnow().replace(tzinfo=utc))

这两个日期都存储在数据库中,列名分别是start_dateend_date

我想做的是把结束日期减去开始日期,以得到持续时间:

  start_date = [i.start_date for i in b ]
  end_date = [i.end_date for i in b ]

我会用这个方法来计算这两个日期的差值:t = [i - j for i, j in zip(y, x)]

但是问题是,开始日期和结束日期是以Unicode格式返回的。我无法再把它们转换成日期时间格式。我该怎么办呢?

1 个回答

0

在Python中,把一个日期时间对象减去另一个日期时间对象,得到的结果是一个 timedelta 对象。简单来说,datetime 对象表示的是从1970年1月1日00:00:00开始的时间段。因为减去一个 datetime 对象不能得到另一个 datetime 对象(因为它不能相对于这个起始时间),所以你得到的只是一个时间段。这就是 timedelta

如果想了解更多细节,可以查看 文档

撰写回答