使用 Lua 如何获取当前日期时间(以毫秒为单位)。
采用这种格式“YYYY-MM-DD hh:mm:ss”。
您可以使用
os.time()
获取当前 UNIX 时间,然后添加 os.clock()
中的毫秒数
在 Lua(JIT) 5.1 中,执行以下操作:
local date_table = os.date("*t")
local ms = string.match(tostring(os.clock()), "%d%.(%d+)")
local hour, minute, second = date_table.hour, date_table.min, date_table.sec
local year, month, day = date_table.year, date_table.month, date_table.day -- date_table.wday to date_table.day
local result = string.format("%d-%d-%d %d:%d:%d:%s", year, month, day, hour, minute, second, ms)
print(result)
-- will print the timestamp in the format you chose with milliseconds
-- should be all good, comment on this answer if anything's wrong please c:
------------测试结果:无毫秒
$ lua -e "print(require'cjson'.encode(os.date'*t'))" | jq
{
"hour": 2,
"min": 42,
"wday": 4,
"day": 20,
"month": 11,
"year": 2024,
"sec": 55,
"yday": 325,
"isdst": false
}