ruby calendar

def month_day(month, year=Date.today.year)
mdays = [nil, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
mdays[2] = 29 if Date.leap?(year)
mdays[month][]
week1 = 7 - first
week1.times { weeks[0] << list.shift }
nweeks = list.size/7 + 1
nweeks.times do |i|
weeks[i+1] ||= []
7.times do
break if list.empty?
weeks[i+1] << list.shift
end
end
pad_first = 7 - weeks[0].size
pad_first.times { weeks[0].unshift(nil) }
pad_last = 7 - weeks[0].size
pad_last.times { weeks[-1].unshift(nil) }
weeks
end

def calendar_table(month, year)
today = Time.now.day
table_body = “”
calendar(month, year).each do |week|
table_body += “<tr>”
week.each do |day|
if day.nil?
table_body += “<td></td>”
else
table_body += (day == today) ? “<td class=’today’>” : “<td>”
table_body += “#{day}</td>”
end
end
table_body += “</tr>”
end
table_body
end


======================================================
所有strftime方法中可用的格式化符号:
======================================================
%a 星期的缩写,如Wed
%A 星期的全称,如Wednesday
%U 本星期在全年中所属的周数
%W
%H 小时(24小时制)
%M 分钟
%S 秒
%I 小时(12小时制)
%p PM 或 AM

%b 月份的缩写,如 Jan
%B 月份的全称,如 January
%c 本地日期和时间,如 06/14/07 16:43:49
%d 日期 (1..31)
%j 本日在一年中所属的天 (1..366)
%m 月份 (1..12)
%w 星期的数字形式 (0..6)
%x 本地日期,如 06/14/07
%Y 本地时间,如 16:43:49
%y 2位的年份表示,如07
%Y 4位的年份表示,如2007
%Z 时区名,如"中国标准时间"
%% 字面符号%
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值