如何使用Ruby查找一年中的月份

时间:2013-05-27 07:12:12

标签: ruby

如何找到一个月到一个月的月份。

months_of_year应该返回(2013-01-01,2013-02-01,2013-03-01,2013-04-01,2013-05-01)(假设当前月份是2013-05- 01)

3 个答案:

答案 0 :(得分:3)

您可以创建辅助方法:

def months_of_year(till = Date.today)
  (1..till.month).map { |m| Date.new(till.year, m) }
end

这将返回从年初开始的每个第1天的日期数组。

答案 1 :(得分:0)

这将为您提供今年至今的一系列月初日期。

i=Date.today.beginning_of_year
a = []
while i <= Date.today
  a << i.beginning_of_month
  i=i + 1.month
end

答案 2 :(得分:0)

require "date"
require "time"
(1..DateTime.now.month).map{|i| Date.new(DateTime.now.year,i,1).to_s }
#=> ["2013-01-01", "2013-02-01", "2013-03-01", "2013-04-01", "2013-05-01"]