【发布时间】:2021-05-03 09:42:23
【问题描述】:
我想计算两个日期之间的秒差。
def delta_seconds(datetime, origin):
td = datetime - origin # datetime - date
return float((td.microseconds + (td.seconds + td.days * 24 * 3600) * 10 ** 6)) / 10 ** 6
我无法计算差异,它向我显示了这个错误:
TypeError: unsupported operand type(s) for -: 'datetime.time' and 'datetime.datetime
所以,我想将 datetime.time 转换为 datetime.datetime。
(datetime 是 datetime.time obj,origin 是 datetime.datetime obj)
有什么建议吗?
【问题讨论】:
-
您的问题是“日期之间的差异”,但您使用 datetime.time?能举个具体的例子吗?
-
我从 nmea 句子 (object_nmea.timestamp) 中检索时间戳。这个时间戳是 datetime.time obj。然后我从一个 nmea 语句(object_nmea.date)中检索日期,它是一个 datetime.date obj。我将其转换为 datetime.datetime。现在,有了这些,我想以秒为单位计算差异
-
好吧,你有一个日期和时间,你结合到一个日期时间对象?并且您想知道该日期过去了多少秒(给定时间)?
-
是的,我有两个日期,我想知道从 datetime (datetime.time) 和 origin (datetime.datetime) 过去了多少秒。但我不能这样做,因为它们的类型不同
-
您可以通过将日期对象与时间零相结合,轻松地从日期对象中获取日期时间对象;喜欢
datetime_obj = datetime.datetime.combine(date_obj, datetime.time(0))