2012-02-03 5 views
0

私のプログラムが書いたログから、私は33,5k回datetime.now()と35回私はこの形式でdatetimeを得ました:2012-01-27 21:28:31とそれは2012-01-29 02:20:03.026000のようになっています。なぜこれが起こっているのですか?datetime.now()時々(同じループ内で)フォーマットを変更し、%f(マイクロ秒)を省略しますか?どうして?

UPDATE:datetime.strptime(my_datetime_variable, "%Y-%m-%d %H:%M:%S.%f")

私はこれをやってみたかったとき、私はそれを見つけました。もちろん、私はtry/exceptを使用して、最後に.%fのないフォーマットを使用することができますが、この動作の理由は何ですか?

答えて

2

ちょうど0になると、マイクロ秒で印刷されない場合があります。

+0

この種の「魔法」は危険です。 :/ – SuitUp

+0

ええ私は同意しますが、私はそれが何であるかは100%ではありません。テストする方法の1つは、1トンのコールを連続して作成することです。両側のものが大きい場合は小さくしてください。 – smitec

+0

簡単なテストの後、datetime.datetimeが表示されます。 '2012-02-02 22:25:15.999993'とdatetime.datetime(2012,2,2,22,25,16)の '2012-02-02,22,25,15,999993'が作成されました。 -02 22:25:16 ' – DSM

関連する問題