From 85d3f7707ead334c38173e86e4267ef23e880666 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Sat, 27 Nov 2010 01:22:43 +0000 Subject: util.datetime: Fixes for more liberal timezone parsing - colon and minutes are both (independantly) optional (thanks Zash) --- util/datetime.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'util') diff --git a/util/datetime.lua b/util/datetime.lua index e853ff78..76efc21b 100644 --- a/util/datetime.lua +++ b/util/datetime.lua @@ -41,8 +41,9 @@ function parse(s) local time_offset = os_difftime(os_time(os_date("*t")), os_time(os_date("!*t"))); -- to deal with local timezone local tzd_offset = 0; if tzd ~= "" and tzd ~= "Z" then - local sign, h, m = tzd:match("([+%-])(%d%d):(%d%d)"); + local sign, h, m = tzd:match("([+%-])(%d%d):?(%d*)"); if not sign then return; end + if #m ~= 2 then m = "0"; end h, m = tonumber(h), tonumber(m); tzd_offset = h * 60 * 60 + m * 60; if sign == "-" then tzd_offset = -tzd_offset; end -- cgit v1.2.3