2017-07-05 6 views
0

私の言うことは、「2018-05-20」の日付があるとします。私は2018年5月20日の形でそれを望みます。辞書のエントリをたくさん作成する必要がなく、月と日付のすべての数値を英語表現にマッピングする必要がなくなるように、ブルートフォースなしでこれを行う最善の方法はありますか?yyyy-mm-ddの形式で日付を英語の月の名前を使用して日付に変換する最良の方法は何ですか?

monthDict = {} 
monthDict['01'] = 'January' 
monthDict['02'] = 'February' 
monthDict['03'] = 'March' 
monthDict['04'] = 'April' 
monthDict['05'] = 'May' 
monthDict['06'] = 'June' 
monthDict['07'] = 'July' 
monthDict['08'] = 'August' 
monthDict['09'] = 'September' 
monthDict['10'] = 'October' 
monthDict['11'] = 'November' 
monthDict['12'] = 'December' 
+2

(https://docs.python.org/3/library/datetime.html#strftime -and-strptime-behavior) –

+1

あなた自身を定義する代わりに、['calendar.month_name'](https://docs.python.org/3/library/calendar.html#calendar.month_name)を使うことができます。しかし、文字列であるキーを持つ 'dict'ではなく、整数でインデックスされた配列です。 – martineau

答えて

1

あなたは、既存のフォーマットでそれを解析する必要がある、と出力新しいです。完全な月を表す出力%Bがあります。例:

import datetime 
s = '2018-05-20' 
dt = datetime.datetime.strptime(s, '%Y-%m-%d') 
print dt.strftime('%B %d, %Y') 

例:

$ python test.py 
May 20, 2018 
あなたは[のstrftime()とのstrptime()]になっているはずです
+1

まさに私が探していたものです。ありがとうございました! –

+0

np!なぜ人々があなたの質問を下落させているのかわからない - それは基本的だが合法だ。それは吸う、すみません。 – keredson

+0

@FinnaBoi「2018年5月20日」を意味すると思ったのですが? –

関連する問題