#============================================================================== # ■ カレンダー By 貪藻矢射妥← # # カレンダーを作ってみました。 # #============================================================================== # 更新っぽいもの # まだなし module CALENDAR def get_cal(y=0, m=0) # 空なら現在の年月を使う t = Time.now y = t.year if y == 0 m = t.month if m == 0 list = [] date = Time.local(y, m, 1) # 各月の日数の配列 days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # うるう年なら2月の日数+1 days[1] += 1 if leap?(y) # 「月 年」をセンタリングして表示 #list.push("\\c[s]" + date.strftime("%B %Y").center(20) + "\\c[0]\n") # 曜日 list.push("日 月 火 水 木 金 土\n") # 一日の表示位置を調整 offset = date.wday % 7 weeks = " " * offset 1.upto(days[m-1]) {|n| if n == t.day weeks += "\\c[2]" + n.to_s.rjust(2) + "\\c[0] " else weeks += n.to_s.rjust(2) + " " end # 土曜なら改行 if(offset + n) % 7 == 0 weeks += "\n" list.push(weeks) weeks = "" end } list.push(weeks) return list end def leap?(year) if (year % 4 == 0 && year % 100 != 0) || year % 400 == 0 return true else return false end end end |