標準ライブラリにあるPythonのカレンダーモジュールで遊んでいます。基本的に、次のように、月のすべての日のリストが必要です。
>>> import calendar
>>> calobject = calendar.monthcalendar(2012, 10)
>>> print calobject
[[1, 2, 3, 4, 5, 6, 7], [8, 9, 10, 11, 12, 13, 14], [15, 16, 17, 18, 19, 20, 21], [22, 23, 24, 25, 26, 27, 28], [29, 30, 31, 0, 0, 0, 0]]
ここで必要なのは、特定のロケールでの月と日の名前です。calobject
これらをそれ自体から取得する方法は見つかりませんでしたが、次のように取得できました。
>>> import calendar
>>> calobject = calendar.LocaleTextCalendar(calendar.MONDAY, 'de_DE')
>>> calobject.formatmonth(2012, 10)
' Oktober 2012\nMo Di Mi Do Fr Sa So\n 1 2 3 4 5 6 7\n 8 9 10 11 12 13 14\n15 16 17 18 19 20 21\n22 23 24 25 26 27 28\n29 30 31\n'
10月の名前もそうOktober
です。de_DE
罰金。情報はそこになければなりません。calendar
オブジェクトではなくプレーンなオブジェクトで、その月の名前に何らかの方法でアクセスできるかどうか疑問に思っていcalendar.LocaleTextCalendar
ます。最初の例 (リストを含む) はまさに私が必要としているものであり、ローカライズされた名前を取得するために 2 つのカレンダー オブジェクトを作成するという考えは好きではありません。
誰でも賢いアイデアを思いつきましたか?