cqwcns 发表于 2020-12-11 23:30

python两个日期时间相减得出小时数的问题

如下代码,我希望获得这两个时间相减的相差小时数(而不是days),应该怎么写?谢谢

    print(sil) # 2020-12-10 09:27:40
    print(timeLastToday) # 2020-12-11 23:59:59
    print((timeLastToday - sil)) # 1 days 14:32:19

vethenc 发表于 2020-12-11 23:42

startTime= time.strftime("%Y-%m-%d %H:%M:%s", time.localtime())
endTime= time.strftime("%Y-%m-%d %H:%M:%s", time.localtime())
startTime= datetime.datetime.strptime(startTime,"%Y-%m-%d %H:%M:%S")
endTime= datetime.datetime.strptime(endTime,"%Y-%m-%d %H:%M:%S")
# 相减得到秒数
seconds = (endTime- startTime).seconds
hours=(endTime- startTime).hours
day=(endTime- startTime).day

rsnodame 发表于 2020-12-12 00:04

{:301_986:} 无脑转成时间戳

看等非军事 发表于 2020-12-12 00:19


>>> sil = datetime.datetime(2020,12,10,9,27,40)
>>> timeLastToday=datetime.datetime(2020,12,11,23,59,59)
>>> print((timeLastToday-sil).total_seconds()/3600)
38.53861111111111

cqwcns 发表于 2020-12-12 12:37

已解决,谢谢各位。

    # 新增[工单自然时长]列,计算工单自然时长
    sheetOnTheWay['工单自然时长'] = sheetOnTheWay['实际到单时间'].apply(lambda x: int((timeNow - x).total_seconds()) / 3600)
    # 新增[工单跨日时长]列,计算工单跨日时长
    sheetOnTheWay['工单跨日时长'] = sheetOnTheWay['实际到单时间'].apply(lambda x: int((timeLastToday - x).total_seconds()) / 3600)
页: [1]
查看完整版本: python两个日期时间相减得出小时数的问题