gpt4 book ai didi

ruby - 获取本月的最后一个星期日

转载 作者:数据小太阳 更新时间:2023-10-29 06:55:51 28 4
gpt4 key购买 nike

我正在使用 Chronic 获取任何给定年份的月份的最后一个星期日。它很乐意给我第 n‌ 个星期日,但不是最后一个。

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

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

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

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

有什么办法可以解决这个明显的限制吗?

更新:我赞成下面的两个答案,因为它们都很好,但我已经在“纯 Ruby”中实现了它(在 2 行中代码,除了 require 'date' 行),但我试图向管理层证明 Ruby 是用于替换即将消失的 Java 代码库(并且有几十个行代码来计算这个),我告诉一位经理,我可能可以用一行 Ruby 来完成它,而且它可读性强且易于维护。

最佳答案

我不确定 Chronic(我以前没听说过),但我们可以用纯 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)>

关于ruby - 获取本月的最后一个星期日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17973248/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com