Python中datetime与timedelta的秒数差值计算问题
解决datetime与timedelta的秒数差值计算问题
首先要明确:datetime类型和timedelta类型不能直接相减——前者是具体时间点,后者是时间间隔,类型不匹配。你的endTime虽为timedelta,但实际代表当天的某个时间点,需先将其转换为datetime对象,再计算差值的秒数。
具体实现步骤
- 提取
startTime的日期部分,与endTime的时间部分组合成完整datetime对象 - 计算两个datetime的时间差(得到timedelta对象)
- 调用
total_seconds()方法获取总秒数(含小数位的毫秒、微秒)
代码示例
import pandas as pd import datetime # 模拟你的数据结构 data = { 'endTime': [pd.Timedelta('0 days 09:59:06.374829103')], 'startTime': [datetime.datetime(2023, 1, 6, 9, 58)] } df = pd.DataFrame(data) # 将timedelta类型的endTime转为datetime end_datetime = df['startTime'][0].date() + df['endTime'][0] # 计算秒数差值 seconds_diff = (end_datetime - df['startTime'][0]).total_seconds() print(seconds_diff) # 输出结果:66.374829103
内容的提问来源于stack exchange,提问作者Bag
相关产品推荐
相关产品推荐

