忍者ブログ
Since 14.Jan.2009:08:29 プログラミングと絵のブログ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


今日はRubyでカレンダーを出力しようと思う

出力形式はブログみたいな横一直線型。

数字だけ出力したら地味で寂しかったので無意味に曜日も付けてます

逆に密度が高くなって見づらい;;

でもめげずに載せる

Calenderクラス calender.rb
class 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.rb
require 'calender' c = Calender.new c.disp_month(4) c.disp_year(2002) c.disp(1999, 7)
まぁお察しのとおりスゴイ地味 でもまぁ・・・基本的にサーバサイドで使うなら CSS でデザイン面は補助できるからいいのさ ちなみに今回参考にさせていただいたサイト様は↓
gan2のRuby勉強日記 2008-01-04 カレンダー生成 :
PR

Comment
Name
Title
Mail
URL
Comment
Pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
[12] [11] [10] [9] [8] [7] [6] [5] [4] [3] [1
«  Back :   HOME   : Next  »
カレンダー
04 2024/05 06
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 31
ブログ内検索
プロフィール
HN:
uguisu_an
年齢:
34
性別:
男性
誕生日:
1989/08/20
自己紹介:
基本的にテキトー
最新コメント
[10/01 くゆる]
[09/21 uguisu_an]
[09/17 mayigo]
[07/17 uguisu_an]
[07/15 shinh]
最新トラックバック
アクセス解析
フリーエリア
P R
忍者ブログ [PR]