0

私は数ヶ月を処理する必要がある非常に奇妙な要件があります。これが私が実際にやろうとしていることです。私は2つのオブジェクトを言います

jan_start_date=Time.parse("2012-01-01 00:00:00")
jan_end_date=Time.parse("2012-01-31 23:59:59")

この2つの日時オブジェクトを取得し、2月、3月、4月を繰り返し処理して、すぐにデータを取得します。

次に、2月の開始日と終了日を取得し、3月、4月、および間もなく繰り返します。

そのような月ごとのデータ収集。Janのデータを使い終わったら、Febのデータなどを取得する必要があります。どうすればこれを達成できますか。何ヶ月も繰り返す必要があるので。

親切に私を助けてください

ありがとう

4

1 に答える 1

2

ActiveSupportbegin_of_monthend_of_monthがあります:

d = Date.today
#=> Fri, 13 Jul 2012
d.beginning_of_month
#=> Sun, 01 Jul 2012
d.end_of_month
#=> Tue, 31 Jul 2012

Date#>>を使用して、日付を月ごとに前にシフトできます。

(d>>2).end_of_month
#=> Sun, 30 Sep 2012
(d>>4).beginning_of_month
#=> Thu, 01 Nov 2012
于 2012-07-13T07:52:07.533 に答える