rails以特定格式在2个日期之间进行日期

时间:2015-05-26 10:56:04

标签: ruby-on-rails date

我正在使用rails,我需要的是获取两个特定日期之间的所有日期,但我需要特定格式的日期。我找到了几种生成日期之间数组的方法,但它们都是%Y /%d /%m,我需要能够以%d /%m /%Y格式生成日期。

到目前为止我找到的代码:

(start_date..end_date).to_a.select

(start_date..end_date).map(&:to_s)

在任何其他调用中添加strftime(%d /%m /%Y)不起作用。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:2)

您可以利用I18n gem(默认情况下在Rails中包含的翻译gem)并本地化您的日期。您甚至可以定义自己的格式:请参阅doc

date_array.map do |some_date|
  I18n.l(some_date, format: '%d %B %Y')
end 

不要忘记包含nil支票,否则会崩溃。

答案 1 :(得分:1)

你应该这样做:

(start_date..end_date).map { |d| d.strftime("%d/%m/%Y") }