山地標準時は UTC から 7 時間遅れているため、7 月 22 日からすべてのデータ ポイントを MST で取得する場合、UTC 時間は 7/22 の 7:00AM UTC から 7/23 の 7:00AM になる必要があります。 UTC。
in_time_zone("MST")
の後に呼び出しているため、コードが正しいとは思いませんbeginning_of_day
。
UTC のサーバーでこのコードを実行すると、評価される時間が異なります。
>> Time.new.yesterday.beginning_of_day.in_time_zone('MST').utc
=> 2013-07-22 00:00:00 UTC
>> Time.new.in_time_zone("MST").yesterday.beginning_of_day.utc
=> 2013-07-22 07:00:00 UTC
開始時刻と終了時刻を適切に決定する方法は次のとおりです。
>> t = Time.new
=> 2013-07-23 19:45:10 +0000
>> start_time = t.in_time_zone("MST").yesterday.beginning_of_day
=> Mon, 22 Jul 2013 00:00:00 MST -07:00
>> end_time = t.in_time_zone("MST").yesterday.end_of_day
=> Mon, 22 Jul 2013 23:59:59 MST -07:00
開始時刻と終了時刻を UTC に変換すると、目的の結果が得られます。
>> start_time = t.in_time_zone("MST").yesterday.beginning_of_day.utc
=> 2013-07-22 07:00:00 UTC
>> end_time = t.in_time_zone("MST").yesterday.end_of_day.utc
=> 2013-07-23 06:59:59 UTC