日历制作(Ruby练习)

要求
用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"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值