我需要将日期格式更改为其他格式。我的日期是:00:00:01.0156001 我想把它改成 1015ms 我写了这段代码:
import datetime
s1 = datetime.datetime.strptime('00:00:01.0156001', '%H:%M:%S.%f')
print s1.strftime('%S%f')
但这会打印前导零和所有微秒-01015600
谢谢
我需要将日期格式更改为其他格式。我的日期是:00:00:01.0156001 我想把它改成 1015ms 我写了这段代码:
import datetime
s1 = datetime.datetime.strptime('00:00:01.0156001', '%H:%M:%S.%f')
print s1.strftime('%S%f')
但这会打印前导零和所有微秒-01015600
谢谢
.strftime()
在这种情况下不要使用。如果您需要一个持续时间,请转换为 atimedelta
并使用其timedelta.total_seconds()
方法将其转换为毫秒值:
s1 = datetime.datetime.strptime('00:00:01.015600', '%H:%M:%S.%f')
delta = s1 - datetime.datetime.combine(s1.date(), datetime.time.min)
print '{:.0f}ms'.format(delta.total_seconds() * 1000)
演示:
>>> import datetime
>>> s1 = datetime.datetime.strptime('00:00:01.015600', '%H:%M:%S.%f')
>>> delta = s1 - datetime.datetime.combine(s1.date(), datetime.time.min)
>>> print '{:.0f}ms'.format(delta.total_seconds() * 1000)
1016ms