0

私はdateString = date.strftime('%Y-%m-%d %H:%M:%S.%f')この日に使用しています:これは、何らかの理由でObjective-cで解析できないもの2012-06-28 16:11:17を返します。2012-06-28 16:11:17.999771文字列の最後の部分を小数点以下6桁ではなく小数点以下3桁に制限するにはどうすればよいですか?

4

2 に答える 2

3

使用する:

date.strftime('%Y-%m-%d %H:%M:%S.%f')[:-3]

これはスライスです(構文[from:to(but not include):step]):

>>> '123456'[:-3]
'123'
>>> '123456'[3:]
'456'
>>> '123456'[1:-1]
'2345'
>>> '123456'[::2]
'135'
>>> '123456'[::-1]
'654321'
>>> '123456'[-2::]
'56'
于 2012-06-28T17:07:21.000 に答える
0

[:-3]メソッドは精度を失います。つまり、'17.999771'[:-3] -> '17.999'そうあるべきです18.000

時間を正しく丸めるには、オブジェクトを秒に変換datetimeし、丸めてから元に戻します。例えば:

from datetime import datetime

dt = datetime(2012, 6, 28, 16, 11, 17, 999771)


secs = (dt - datetime(1970, 1, 1)).total_seconds()
dt = datetime.utcfromtimestamp(round(secs, 3)) # round to thousands
print dt.strftime('%Y-%m-%d %H:%M:%S.%f')[:-3]
# -> '2012-06-28 16:11:18.000'
于 2012-06-28T17:55:12.823 に答える