我正在编写一个脚本,该脚本应根据日期范围确定年度的"季节":
例如:
January 1 - April 1: Winter
April 2 - June 30: Spring
July 1 - September 31: Summer
October 1 - December 31: Fall
Run Code Online (Sandbox Code Playgroud)
我不确定如何做到这一点的最佳方式(或最好的红宝石方式).其他人遇到如何做到这一点?
9月31日?
正如leifg建议的那样,这里是代码:
require 'Date'
class Date
def season
# Not sure if there's a neater expression. yday is out due to leap years
day_hash = month * 100 + mday
case day_hash
when 101..401 then :winter
when 402..630 then :spring
when 701..930 then :summer
when 1001..1231 then :fall
end
end
end
Run Code Online (Sandbox Code Playgroud)
一旦定义,就像这样调用它:
d = Date.today
d.season
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1204 次 |
| 最近记录: |