Since 14.Jan.2009:08:29
プログラミングと絵のブログ
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
今日はRubyでカレンダーを出力しようと思う 出力形式はブログみたいな横一直線型。 数字だけ出力したら地味で寂しかったので無意味に曜日も付けてます 逆に密度が高くなって見づらい;; でもめげずに載せる Calenderクラス calender.rbclass Calender require 'date' # *1 def initialize end def disp_month(month = Date.today.month) year = Date.today.year disp(year, month) end def disp_year(year = Date.today.year) 1.upto(12) do |month| disp(year, month) end end def disp(year, month) last_day = Date.new(year, month, -1) # *2 tmp1, tmp2 = [], [] week = %w|Su Mo Tu We Th Fr Sa| puts last_day.strftime("%Y %B") # *3 1.upto(last_day.day) do |day| tmp1 << week[Date.new(year, month, day).wday] # *4 tmp2 << "%2d" % day # *5 end puts tmp1.join(" ") # *6 puts tmp2.join(" ") end end*1 .. Dateクラスを使うためにライブラリを読みます *2 .. 月の最終日を取得します(-1は一周回って最終日になってくれます) *3 .. 日付を strftime で整形して出力します ( %Y は年, %B は月 ) *4 .. Date#wday 日付の週を 0 - 6 で取り出して配列に入れています (それを使って事前に作ったweek配列から曜日を取り出します) *5 .. "%2d" % day は day を %2d( 整数二桁右詰め )に整形します *6 .. Array#join は指定した文字で配列を結合して文字列にしてくれます 使用方法 main.rbrequire 'calender' c = Calender.new c.disp_month(4) c.disp_year(2002) c.disp(1999, 7)まぁお察しのとおりスゴイ地味 でもまぁ・・・基本的にサーバサイドで使うなら CSS でデザイン面は補助できるからいいのさ ちなみに今回参考にさせていただいたサイト様は↓gan2のRuby勉強日記 2008-01-04 カレンダー生成 :
PR
Comment
カレンダー
10 | 2024/11 | 12 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
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 |
ブログ内検索
プロフィール
HN:
uguisu_an
年齢:
35
性別:
男性
誕生日:
1989/08/20
自己紹介:
基本的にテキトー
カテゴリー
最新記事
(10/30)
(08/12)
(08/12)
(07/05)
(06/29)
最新コメント
[10/01 くゆる]
[09/21 uguisu_an]
[09/17 mayigo]
[07/17 uguisu_an]
[07/15 shinh]
最新トラックバック
アクセス解析
フリーエリア
P R