comparison mod_http_muc_log/mod_http_muc_log.lua @ 2836:52a7c0f6aea1

mod_http_muc_log: Add a function for rounding timestamps down to midnight
author Kim Alvefur <zash@zash.se>
date Sat, 18 Nov 2017 20:38:30 +0100
parents ed26608920d4
children bd5eb429ebab
comparison
equal deleted inserted replaced
2835:b69ef062806e 2836:52a7c0f6aea1
62 62
63 -- Time zone hack? 63 -- Time zone hack?
64 local t_diff = os_time(os_date("*t")) - os_time(os_date("!*t")); 64 local t_diff = os_time(os_date("*t")) - os_time(os_date("!*t"));
65 local function time(t) 65 local function time(t)
66 return os_time(t) + t_diff; 66 return os_time(t) + t_diff;
67 end
68 local function date_floor(t)
69 return t - t % 86400;
67 end 70 end
68 71
69 -- Fetch one item 72 -- Fetch one item
70 local function find_once(room, query, retval) 73 local function find_once(room, query, retval)
71 if query then query.limit = 1; else query = { limit = 1 }; end 74 if query then query.limit = 1; else query = { limit = 1 }; end
111 repeat 114 repeat
112 local when = find_once(room, { start = next_day; }, 3); 115 local when = find_once(room, { start = next_day; }, 3);
113 if not when then break; end 116 if not when then break; end
114 local t = os_date("!*t", when); 117 local t = os_date("!*t", when);
115 dates:set(t.year, t.month, t.day, when ); 118 dates:set(t.year, t.month, t.day, when );
116 next_day = when + (86400 - (when % 86400)); 119 next_day = date_floor(when) + 86400;
117 until not next_day; 120 until not next_day;
118 end 121 end
119 122
120 local years = {}; 123 local years = {};
121 124