2016-05-09 4 views
3

Pythonのdateutilは、文字列の秒成分を除いて文字列を正しく解析しています。Pythonのdateutilパーサーが間違った秒数を解析します

In [1]: from dateutil import parser 
In [2]: parser.parse("05/09/2016 16:04.18") 
Out[2]: datetime.datetime(2016, 5, 9, 16, 4, 10) 

dateutil.parser 16を解析している:04.18 16時間程度、4分、および10秒を、それが18秒なければならない場合。何が起きてる?

答えて

5

パーサーは、時間の最後の非標準部分をどのように解釈するのか分かりません。 :の代わりに.がオフになります。代わりにparser.parse("05.09/2016 16:04:18")を使用してください。

datetimeモジュールをマスクでカスタマイズして任意の日付と時刻の形式を処理できるため、代わりにdatetimeモジュールを使用することもできます。

from datetime import datetime 
date_object = datetime.strptime("05/09/2016 16:04.18", '%m/%d/%Y %H:%M.%S') 
+1

コロンを使用すると、dateutil.parserは秒として読み込みますが、ピリオドを使用すると、dateutil.parserは100分の1分として読み込みます。 – Josh

+0

ええ、それはあなたが正しいように見えます。それを100分の1分として読み取り、値を切り捨てます。 –

関連する問題