1

データベースからデータを引き出すメソッドを作成しています。データは出力として配列に入れられ[date, value]ます(別の配列に保存されますが、それは詳細です)。

週ごとのデータを表示していますが、週末は表示したくないので、(月曜日から金曜日までのすべてのデータをプルする) に変更end_of_weekしました。:saturdayただし、これは月曜日の朝 00:01 から金曜日の夜 23:59 までのすべてのデータを取得します。

end_of_week金曜日の 18:00 以降に作成されたデータの取得を停止するように定義する方法はありますか? 擬似コードでは、次のようになります。 end_of_week(:friday, 18:00)

4

1 に答える 1

3

あなたは物事を複雑にしすぎていると思います

Time.now.end_of_week - (2.days + 6.hours)
=> 2013-10-11 17:59:59 +0200

うまくいくでしょう。

月曜日から金曜日の午後 6 時までの期間を本当に表現したい場合は、次のようにします。

start = Time.now.at_beginning_of_week
=> 2013-10-07 00:00:00 +0200
ending = start + 4.days + 18.hours
=> 2013-10-12 18:00:00 +0200
于 2013-10-09T10:42:13.387 に答える