ruby – 获得本月的最后一个星期天

前端之家收集整理的这篇文章主要介绍了ruby – 获得本月的最后一个星期天前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用慢性来获得任何一年的最后一个星期日.它很乐意给我第n个星期天,但不是最后一个星期天.

这有效,但不是我需要的:

Chronic.parse('4th sunday in march',:now => Time.local(2015,1,1))

这是我需要的,但不起作用:

Chronic.parse('last sunday in march',1))

这种明显的限制有什么办法吗?

更新:我正在推测下面的两个答案,因为它们都很好,但我已经在“纯Ruby”中实现了这个(在2行代码中,除了require’date’行之外),但我正在尝试向管理层证明Ruby是用来替换正在消失的Java代码库的正确语言(并且有几十行代码来计算它),我告诉一位经理我可能会在一行中做到这一点. Ruby,它易读且易于维护.

@R_403_323@

我不确定慢性病(我之前没有听说过),但我们可以用纯ruby实现这个:)
##
# returns a Date object being the last sunday of the given month/year
# month: integer between 1 and 12
def last_sunday(month,year)
  # get the last day of the month
  date = Date.new year,month,-1
  #subtract number of days we are ahead of sunday
  date -= date.wday
end

last_sunday方法可以像这样使用:

last_sunday 07,2013
#=> #<Date: 2013-07-28 ((2456502j,0s,0n),+0s,2299161j)>
原文链接:https://www.f2er.com/ruby/269530.html

猜你在找的Ruby相关文章