ida*_*n b 4 python datetime iso python-3.6
我收到一个格式如下的字符串:“PTXMYS” 其中 X 是分钟数,Y 是秒数。
我想将该字符串转换为int表示总秒数的字符串。我尝试使用datetime和其他东西,但它对我不起作用,我在网上读到这种格式是 iso8601 的标准,所以对我来说很奇怪,它实际上不起作用。
字符串示例:
x="PT4M13S"
Run Code Online (Sandbox Code Playgroud)
有一个第三方库可以解析这些字符串isodate:
import isodate
isodate.parse_duration("PT4M13S")
# datetime.timedelta(seconds=253)
isodate.parse_duration("PT4M13S").total_seconds()
# 253.0
Run Code Online (Sandbox Code Playgroud)
为了完整起见,可以选择使用datetime'sstrptime和timedelta's来执行此操作total_seconds():
from datetime import datetime, timedelta
# parse minute and second to datetime object:
t = datetime.strptime("PT4M13S","PT%MM%SS")
# convert to timedelta to get the total seconds
td = timedelta(minutes=t.minute, seconds=t.second)
td.total_seconds()
# 253
Run Code Online (Sandbox Code Playgroud)