#==============================================================================
# ■ カレンダー 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
|