datetime.strptime() returns %f 的格式错误

datetime.strptime() returns a formatting error with %f

我目前正在尝试将秒数转换为分钟和秒的表示法。我正在使用 divmod 并尝试将结果转换为日期时间值。我有以下代码:

from datetime import datetime, timedelta
processtime = 69.009
m, s = divmod(processtime, 60)
m= str(m)
m=m[:1]
s= str(s)
s=s[:5]
processstring= m+ ' ' + s
datetimeprocess = datetime.strptime(processstring, "%M %S.f")

但是每次我这样做时我都会得到这个错误:

ValueError: time data '1 9.009' does not match format '%M %S.f'

我很确定我已经匹配了格式,但我不知道问题出在哪里。

您在 f 之前缺少 %:

datetimeprocess = datetime.strptime(processstring, "%M %S.%f")

测试结果:

>>> from datetime import datetime, timedelta
>>> processstring = '1 9.009'
>>> datetimeprocess = datetime.strptime(processstring, "%M %S.%f")
>>> print datetimeprocess
1900-01-01 00:01:09.009000
>>>