2011-10-20 22 views
2

文字列型のパラメータを日付時刻に変換しようとしています。私は私がこれを実行するたびに、私はPython DateUtil文字列を日付と時刻に変換する

2001-09-01 12時00分03秒

かかわらず、私はdayfirst設定されているかどうかの取得

from dateutil import parser 
myDate_string="2001/9/1 12:00:03" 
dt = parser.parse(myDate_string,dayfirst=True) 
print dt 

dateUtilライブラリを使用しています真または年​​が最初に偽と設定されている理想的には、DD-MM-YYYY HH:MM:SSという形式の日付が必要です。私は何も想像したくありません。私はdatetimeライブラリを使用するつもりですが、これは私のためにまったく動作していないようです。誰もが、明示的な形式で日付の時間に文字列を変換する方法の簡単な例を与えることができます、私はnoobですので、最も基本的な例はすべて私が必要です。私はPython 2.7を使用しています

答えて

7

あなたが抱えている問題は、あなたがparser.parseに渡す引数は唯一、後続のオブジェクトが印刷されていないか、文字列が解析される方法に影響を与えるということです。

parser.parseはdatetimeオブジェクトを返します。これを印刷すると、datetimeのデフォルトの__str__メソッドが使用されます。最後の行を

に置き換えた場合
print dt.strftime("%d-%m-%Y %H:%M:%S") 

期待どおりに動作します。

3

標準のlib(組み込み)datetime libはこれを簡単に行うことができます。

from datetime import datetime 

my_date_string = "2001/9/1 12:00:03" 
d = datetime.strptime(my_date_string, "%Y/%m/%d %H:%M:%S") 
print d.strftime("%d-%m-%Y %H:%M:%S") 
+0

ありがとうございました。私はこのことに不満を抱いていた。あなたのソリューションは、私のユースケースに最も適しています。しかし、答えはより多くの回答は、dateutilライブラリを使用してください。決して少なくありがとうございました。 – user595985

関連する問題