我有一個紅寶石應用程序,我需要以天 - 小時 - 分鐘格式獲取日期 - 時間差。對於這個即時通訊使用下面的函數ROR中的日期時間差
def duration (from_time, to_time)
from_time = from_time.to_time if from_time.respond_to?(:to_time)
to_time = to_time.to_time if to_time.respond_to?(:to_time)
distance_in_seconds = ((to_time - from_time).abs).round
secs = distance_in_seconds.to_int
mins = secs/60
hours = mins/60
days = hours/24
if days > 0
"#{days}d #{hours % 24}h"
elsif hours > 0
"#{hours}h #{mins % 60}m"
elsif mins > 0
"#{mins}m"
end
end
上面這樣調用從另一個功能
duration(aw_updated, Time.now)
但有些時候它給了我錯誤的結果,
當我顯示上述數值
aw_updated is 2012-09-19 04:23:34 UTC
Time.now is 2012-09-19 16:33:09 +0530
Time.now.utc is 2012-09-19 11:03:09 UTC
And
Diff is 6h 26m
但是我的系統時間爲2012-09-19 16點33分09秒
不知道在哪裏在做錯誤的,有些UTC問題?
請指教
對我來說看起來很好。您的系統時間顯示UTC + 5.30 – Sebi
差異不應超過12小時? –
04:23:34和11:03:09之間的區別是6h:39m:35s。嘗試再次運行代碼併發布輸出。 – Sebi