![](/img/trans.png)
[英]Pandas - convert int to datetime.time and datetime.datetime
[英]Convert datetime.time in datetime.datetime
我想计算两个日期之间的秒数差异。
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
时间的减法已经返回一个增量。 时间增量
参数origin
和datetime
时间必须是datetime
时间 object。 要么将两个参数设为datetime
时间 object,要么将日期时间的datetime.time
设为当前日期时间object。
要将您的time
转换为datetime
, 这可能会有所帮助,或者您可以手动调整字段。
import datetime
t = datetime.time(1, 2, 3)
print('t :', t)
d = datetime.date.today()
print('d :', d)
dt = datetime.datetime.combine(d, t)
print('dt:', dt)
t : 01:02:03
d : 2013-02-21
dt: 2013-02-21 01:02:03
datetime.datetime
对象之间的差异为您提供了datetime.timedelta
,它已经具有 class 属性,您可以从 function 返回seconds
。datetime.combine
来组合datetime.date
和datetime.time
。演示:
from datetime import datetime, date, time
def delta_seconds(end, origin):
return (end - origin).seconds
# Test
date = date(2021, 5, 3)
time = time(10, 20, 30)
origin = datetime.combine(date, time)
end = datetime.now()
print(delta_seconds(end, origin))
Output:
33213
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.