2

変数で 3 つの日付を取得する必要があります

今日私が持っている真夜中以来

t = Time.now.strftime("%Y-%m-%d 00:00:01") # 2012-11-19 00:00:01

昨日の午前 0 時以降 (つまり、00:00:00 から 23:59:59)

y1 = 2012 年 11 月 18 日 00:00:01
y2 = 2012 年 11 月 19 日 23:59:59

具体的には、gem で使用する文字列として作成する必要がある y1 および y2 変数です。Rubyが初めてなので、Time.yesterdayが必要なことをしていないように見えるので、少し混乱しています

編集

これには、必ず含める

「active_support/all」が必要です

アプリケーションにgemがバンドルされていることを確認してください。

使用済み:

@current   = (Time.now).beginning_of_day.utc.strftime("%Y-%m-%d")
@yesterday = (Time.now - 1.day).beginning_of_day.utc.strftime("%Y-%m-%d")
@everything = (Time.now - 2.day).end_of_day.utc.strftime("%Y-%m-%d")
4

4 に答える 4

4

できるよ、

 t=Time.now
 y1=t-1.day
 y2=t+1.day
于 2012-11-19T12:33:54.250 に答える
2
t = Time.now
t - 1.day # => yesterday
t + 1.day # => tomorrow
于 2012-11-19T12:08:55.237 に答える
1

最初に t を日付に変換し、

t = t.to_date

t - 1.day # => yesterday
t + 1.day # => tomorrow
于 2012-11-19T12:36:47.563 に答える
0

Railsを実行しているので、 ActiveSupportから取得するのに役立ちます

1.day.ago.midnight
Time.new.beginning_of_day

2012-11-19 00:00:01またはを使用しないことも検討する必要があります2012-11-19 23:59:59。代わりに、00:00:00を使用して、達成したいことに応じて>=または<と比較することができます。常に秒に丸める場合は、2012-11-19 00:00:00to2012-11-19 23:59:59が機能します。

于 2012-11-19T13:23:30.787 に答える