我需要创建一个报告,在其中我需要减去两个日期并以%H:%M%S的形式返回
这是我插入到列表中的减法:
time_difference_temp=datetime.strptime(next_time,"%Y-%m-%d %H:%M:%S") - datetime.strptime(current_time,"%Y-%m-%d %H:%M:%S") time_difference.append(time_difference_temp) return time_difference
此列表返回到>
def push_to_csv(time_difference): df = pd.read_csv('time_differences.csv') df["Delta"] = time_difference df.dropna(subset=["Data"], inplace=True) df.to_csv("Final_ReportX.csv")
在csv Final_ReportX中,它以以下格式保存:0天00:05:39
我需要它只返回00:05:39,没有几天。
*不是正则表达式
谢谢!
您可以使用将timedelta转换为H:M:S字符串的自定义函数:
def td_to_str(td): """ convert a timedelta object td to a string in HH:MM:SS format. """ hours, remainder = divmod(td.total_seconds(), 3600) minutes, seconds = divmod(remainder, 60) return f'{int(hours):02}:{int(minutes):02}:{int(seconds):02}' s = pd.Series(pd.to_timedelta(['1 day, 00:05:39'])) s.apply(td_to_str) # 0 24:05:39 # dtype: object