Mountain標準時間比UTC UTC時間晚7個小時,因此當您從MST 7月22日那天捕獲所有數據點時,您希望UTC時間從UTC時間7/22 UTC到7/23 at 7:00上午7:00 UTC。
我不認爲你的代碼是正確的,因爲你在beginning_of_day
之後致電in_time_zone("MST")
。
當您運行是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
您有任何其他問題或我的答案適用於您的問題嗎? – Powers