要求:
用Date类获取本月中每天对应的星期,并按日历格式输出
说明:以下代码写了本月日历,通过修改部分参数即可获得其他月份的日历
输出效果:
代码:
d=Date.today
yuefen = d.month #获取本月对应数字,其他月份可在此基础上通过加减获取
case yuefen
when 1
yuefen = "January"
when 2
yuefen = "February"
when 3
yuefen = "March"
when 4
yuefen = "April"
when 5
yuefen = "May"
when 6
yuefen = "June"
when 7
yuefen = "July"
when 8
yuefen = "August"
when 9
yuefen = "September"
when 10
yuefen = "October"
when 11
yuefen = "November"
when 12
yuefen = "December"
end
firstline = [yuefen]
secondline = ["Su","Mo","Tu","We","Th","Fr","Sa"]
firstday =Date.new(d.year,d.month,1) #获取本月第一天对应的星期数字,其他月份在d.month上加减即可
rili = []
for i in 1..30 do
rili << i
end
case firstday.wday
when 0
rili=rili
when 1
rili.unshift(nil)
when 2
rili.unshift(nil,nil)
when 3
rili.unshift(nil,nil,nil)
when 4
rili.unshift(nil,nil,nil,nil)
when 5
rili.unshift(nil,nil,nil,nil,nil)
when 6
rili.unshift(nil,nil,nil,nil,nil,nil)
end
print "\t\t",firstline[0],"\n"
secondline.each do |i|
print i,"\t"
end
print "\n"
count = 0
rili.each do |i|
print i,"\t"
count = count+1
if count%7 == 0
#p count
print "\n"
end
end
print "\n"