2008 Nov 21st
Python の calendar モジュールは知っていたのですが、 2.5 で追加された HTMLCalendar という仕様は知りませんでした。
>>> import calendar
>>> t = calendar.HTMLCalendar().formatmonth(2008, 11)
とすると、 HTML の table になっているカレンダーの文字列が返ってきます。
とは言え、単にカレンダーを表示するということはなくてナビゲーション用にあれこれするだろうから、結局これじゃしょうがないのかもですが。
Posted by setomits at 10:51 | Comments: 3
Re: calendar モジュール
これはたぶんサブクラス化して使うんじゃないかな。
月曜日だけ[[と]]で日付を囲って印字する例。


import calendar

class MyHTMLCalendar(calendar.HTMLCalendar):
def formatday(self, day, weekday):
if day != 0 and weekday == 0:
return '<td class="%s">[[%d]]</td>' % (self.cssclasses[weekday], day)
else:
return super(MyHTMLCalendar, self).formatday(day, weekday)


cal = MyHTMLCalendar()

print cal.formatmonth(2008, 11)
Posted by kharakawa at 12:20 on 2008 Nov 22nd
Re: calendar モジュール
タグ抜かれちゃった。
if day != ...の次の行は

return \'<td class="%s">[[%d]]</td>\' % (self.cssclasses[weekday], day)


ですた。
Posted by kharakawa at 12:24 on 2008 Nov 22nd
Re: calendar モジュール
OKです。元コメントを修正しておきました。

で、これはまっとうな使い方ですね。
まっとうじゃない方法として、

table = table.replace('>%d<' % day, '>%s<' % linkday)

みたいな感じで書いちゃったので、そっちのやり方を使おうかな。
Posted by setomits at 12:35 on 2008 Nov 22nd
Leave a comment
Required fields are marked with *
search
calendar
Feb 2012
SunMonTueWedThuFriSat
   1234
567891011
12131415161718
19202122232425
26272829   
archives
photos on flickr
www.flickr.com