gpt4 book ai didi

ruby-on-rails - 生成过去 12 个月的月末日期

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

我需要一种方法来生成一个数组,其中包含过去 12 个月中每个月的月末日期。我想出了以下解决方案。它有效,但是,可能有更优雅的方法来解决这个问题。有什么建议么?有没有更有效的方法来生成这个数组?任何建议将不胜感激。

require 'active_support/time'

...

def months
last_month_end = (Date.today - 1.month).end_of_month
months = [last_month_end]
11.times do
month_end = (last_month_end - 1.month).end_of_month
months << month_end
end
months
end

最佳答案

通常当你想要一系列东西时开始考虑 map。当你在使用它时,为什么不推广这种方法,这样你就可以取回你希望的任何 n 个月:

def last_end_dates(count = 12)
count.times.map { |i| (Date.today - (i+1).month).end_of_month }
end

>> pp last_end_dates(5)

[Sun, 30 Jun 2013,
Fri, 31 May 2013,
Tue, 30 Apr 2013,
Sun, 31 Mar 2013,
Thu, 28 Feb 2013]

关于ruby-on-rails - 生成过去 12 个月的月末日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17773482/

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