time_helper.lua
local _M = {};
local ffi = require("ffi")
ffi.cdef[[
struct timeval {
long int tv_sec;
long int tv_usec;
};
int gettimeofday(struct timeval *tv, void *tz);
]];
local tm = ffi.new("struct timeval");
-- 返回微秒级时间戳
function _M.current_time_millis()
ffi.C.gettimeofday(tm,nil);
local sec = tonumber(tm.tv_sec);
local usec = tonumber(tm.tv_usec);
return sec + usec * 10^-6;
end
return _M;
test.lua
local time_helper = require "time_helper"
local a = time_helper.current_time_millis()
local b = time_helper.current_time_millis()
ngx.say((b-a)*1000)
转载于:https://blog.51cto.com/12656724/1903027