X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=util%2Fdatetime.lua;h=a1f62a48563ed48fc2d30c5c1f5e8b94c66e0e17;hb=533fc1fa57ce10fc0821f8edaeb247f2710a543c;hp=301a49a5e9cd60035d4603919428f6192cd1058c;hpb=a27bfd5b2a377402db721ba322b33ec607a9095c;p=prosody.git diff --git a/util/datetime.lua b/util/datetime.lua index 301a49a5..a1f62a48 100644 --- a/util/datetime.lua +++ b/util/datetime.lua @@ -36,7 +36,7 @@ end function parse(s) if s then local year, month, day, hour, min, sec, tzd; - year, month, day, hour, min, sec, tzd = s:match("^(%d%d%d%d)-?(%d%d)-?(%d%d)T(%d%d):(%d%d):(%d%d)%.?%d*([Z+%-].*)$"); + year, month, day, hour, min, sec, tzd = s:match("^(%d%d%d%d)%-?(%d%d)%-?(%d%d)T(%d%d):(%d%d):(%d%d)%.?%d*([Z+%-]?.*)$"); if year then local time_offset = os_difftime(os_time(os_date("*t")), os_time(os_date("!*t"))); -- to deal with local timezone local tzd_offset = 0; @@ -49,7 +49,7 @@ function parse(s) if sign == "-" then tzd_offset = -tzd_offset; end end sec = (sec + time_offset) - tzd_offset; - return os_time({year=year, month=month, day=day, hour=hour, min=min, sec=sec}); + return os_time({year=year, month=month, day=day, hour=hour, min=min, sec=sec, isdst=false}); end end end