From 813022aec1a9ac999cc4ee548c8683ce0bc34ccd Mon Sep 17 00:00:00 2001 From: Badlop Date: Mon, 13 Sep 2010 12:05:10 +0200 Subject: [PATCH] Support timezone West of UTC (thanks to Edwin Fine)(EJAB-1301) --- src/mod_time.erl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mod_time.erl b/src/mod_time.erl index b7482bcda..4f2eb1ac3 100644 --- a/src/mod_time.erl +++ b/src/mod_time.erl @@ -59,7 +59,13 @@ process_local_iq(_From, _To, #iq{type = get} = IQ_Rec) -> {UTC, UTC_diff} = jlib:timestamp_to_iso(Now_universal, utc), Seconds_diff = calendar:datetime_to_gregorian_seconds(Now_local) - calendar:datetime_to_gregorian_seconds(Now_universal), - {Hd, Md, _} = calendar:seconds_to_time(Seconds_diff), + {Hd, Md, _} = case Seconds_diff >= 0 of + true -> + calendar:seconds_to_time(Seconds_diff); + false -> + {Hd0, Md0, Sd0} = calendar:seconds_to_time(-Seconds_diff), + {-Hd0, Md0, Sd0} + end, {_, TZO_diff} = jlib:timestamp_to_iso({{0, 0, 0}, {0, 0, 0}}, {Hd, Md}), Result = #xmlel{ns = ?NS_TIME, name = 'time', children = [ #xmlel{ns = ?NS_TIME, name = 'tzo', children = [