2

JavaScript に開始日時と終了日時を配置しようとする 2 行のコードがあります。 new Date('<%= DateTime.now.beginning_of_day.to_s %>')は一例です。は、 JavaScript が 2012 年 8 月 13 日 00:00 に変換するDateTime.now.beginning_of_day文字列を返します。2012-08-13T00:00:00-04:00完全。ただし、DateTime.yesterday.beginning_of_day.to_s「2012-08-11 20:00:00-04:00」が返され、JavaScript はこれを 8/11/2012 20:00 に変換します。一昨日の午後 8 時は要りません。私は昨日の真夜中が欲しいです。Date.yesterday.in_time_zone("Eastern Time (US & Canada)").utcおよびその他の無数の順列を試しました。と同じ方法でフォーマットされた過去の日付を取得するにはどうすればよいDateTime.nowですか?

4

2 に答える 2

2

これを試して:

DateTime.now.yesterday.beginning_of_day
于 2012-08-13T21:07:59.127 に答える
0

Time.zoneを使用します

次に、ハッキーなto_dateをto_timeに戻し、深夜にゼロになるようにします。

new Date('<%= Time.zone.now.to_date.to_time.to_s %>')

new Date('<%= (Time.zone.now - 1.day).to_date.to_time.to_s %>')

代わりに使用できるはずですTime.zone.now.yesterday.to_date.to_time.to_s-1.day

于 2012-08-14T03:20:02.573 に答える