Odoo v10中如何将datetime差值的「天, hh:mm:ss」格式转为hh:mm格式
实现代码
你得到的差值x是Python标准的timedelta类型对象,直接通过总秒数换算即可得到hh:mm格式结果:
from datetime import datetime d1 = datetime.strptime("2021-07-12 03:24:08", "%Y-%m-%d %H:%M:%S") d2 = datetime.strptime("2021-07-10 08:35:26", "%Y-%m-%d %H:%M:%S") x = d1 - d2 # 核心换算逻辑 total_sec = x.total_seconds() hours = int(total_sec // 3600) minutes = int((total_sec % 3600) // 60) # 格式化补零输出 time_diff = f"{hours:02d}:{minutes:02d}" print(time_diff)
运行结果
你给出的示例运行后输出为:42:48
Odoo场景适配说明
如果你是直接读取Odoo模型的Datetime字段做差值,不需要额外做格式转换,两个字段值直接相减得到的也是timedelta对象,复用上面的换算逻辑即可。
内容的提问来源于stack exchange,提问作者giew
相关产品推荐
相关产品推荐

