137

strftime()をマイクロ秒の精度で使用しようとしています。これは%fを使用して可能と思われます(ここで説明)。ただし、次のコードを試してみると:

import time
import strftime from time

print strftime("%H:%M:%S.%f")

...時間、分、秒を取得しますが、%fはマイクロ秒の符号なしで%fとして出力されます。私はUbuntuでPython2.6.5を実行しているので、問題なく、%fがサポートされているはずです(私が知る限り、2.6以降でサポートされています)。

4

8 に答える 8

213

これを取得するには、datetime の strftime 関数を使用できます。問題は、time の strftime が、マイクロ秒の情報を持たない timetuple を受け入れることです。

from datetime import datetime
datetime.now().strftime("%H:%M:%S.%f")

トリックを行う必要があります!

于 2011-07-13T10:53:36.890 に答える
38

あなたは間違ったドキュメントを見ています。timeモジュールには別のドキュメントがあります。

次のようにdatetimeモジュールを使用できます。strftime

>>> from datetime import datetime
>>>
>>> now = datetime.now()
>>> now.strftime("%H:%M:%S.%f")
'12:19:40.948000'
于 2011-07-13T10:19:05.587 に答える
5

time関数を使用して、モジュールからマイクロ秒の精度を取得することもできtime()ます。
(time.time()エポックからの時間を秒単位で返します。その小数部分はマイクロ秒単位の時間であり、これが必要です。)

>>> from time import time
>>> time()
... 1310554308.287459   # the fractional part is what you want.


# comparision with strftime -
>>> from datetime import datetime
>>> from time import time
>>> datetime.now().strftime("%f"), time()
... ('287389', 1310554310.287459)
于 2011-07-13T11:00:35.237 に答える