日-時間-分形式で日時の差を取得する必要があるrubyアプリケーションがあります。このimの場合、次の関数を使用します
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
と
Diff is 6h 26m
しかし、私のシステム時刻は2012-09-1916:33:09です。
どこで間違っているのかわからない、UTCの問題?
お知らせ下さい