我需要将日期格式更改为其他格式。 我的日期是: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
由于
答案 0 :(得分:1)
在这种情况下,请勿使用.strftime()
。如果您需要有一段时间,请转换为timedelta
并使用其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