用微秒更改日期格式

时间:2013-09-02 13:05:39

标签: python datetime python-2.7

我需要将日期格式更改为其他格式。 我的日期是: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

由于

1 个答案:

答案 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