Python如何将时间字符串转换为带天/小时/分钟单位的指定输出格式
日期时间拆分补单位Python实现方案
原有代码问题
现有代码仅实现了截断毫秒的效果,既没有拆分逗号分隔的日期、时间段,也没有单独提取小时、分钟字段拼接对应单位,无法得到目标结果。另外注意Python里打印函数是小写的print,大写开头会报语法错误。
实现步骤
- 以逗号为分隔符拆分原始字符串,分别得到日期段(比如
7days)和带毫秒的时间段 - 以点为分隔符拆分时间段,丢弃后半段的毫秒内容,拿到
时:分:秒格式的时间串 - 以冒号为分隔符拆分时间串,依次得到小时、分钟、秒三个值
- 给小时值拼接
hours单位,给需要的分钟值拼接minutes单位,和日期段用空格拼接即可
可运行代码
date_str = "7days,15:18:21.727067" # 拆分日期段和时间段 date_part, time_part = date_str.split(',') # 去掉毫秒,拆分时分秒 h, m, s = time_part.split('.')[0].split(':') # 正常逻辑:取对应位置的小时、分钟拼接单位,输出为 7days 15hours 18minutes result = f"{date_part} {h}hours {m}minutes" # 如果你的预期确实要输出21minutes(对应原始串的秒字段),把上面代码里的m换成s即可 # result = f"{date_part} {h}hours {s}minutes" print(result)
输出说明
按字段对应逻辑取小时、分钟位,输出为:
7days 15hours 18minutes
如果替换成取秒位作为分钟值,输出和给出的预期完全一致:
7days 15hours 21minutes
内容的提问来源于stack exchange,提问作者Chandrika Donepudi
相关产品推荐
相关产品推荐

