使用Lua,如何以毫秒为单位获取当前日期时间

使用Lua,如何以毫秒为单位获取当前日期时间,lua,Lua,使用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, d

使用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.wday
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:

您可以使用
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.wday
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:

但是我必须说,如果你在寻找一个真正格式化的答案,就像在小于10的东西之前添加0一样,你可以手动检查变量。我还想补充的是,我已经手动检查了这个函数。除了上面提到的一些简单整洁的格式(您可以轻松地使用(else)if语句添加这些格式)之外,这种方法非常有效,应该适合您的需要。如果您需要任何更改,请留言给我,谢谢!事实上,不,等等,我搞砸了。结果是,
os.clock()
如果毫秒数按您的要求以0结尾(1/100而不是1/1000),则有时返回厘米秒。这也是cpu时间,这意味着我的“解决方案”不准确的范围,平均为0-6亿秒。您可以选择使用它,但避免此问题的唯一方法是,如果您制作或加载某种形式的C库/文件,它会向Lua添加自定义的毫秒精度函数,这也会带来自身的问题。注意:“date\u table.wday”不正确,您需要“date\u table.day”。前者得到的是星期几(例如,在[1..7]中),后者得到的是月日。不过,我必须说,如果你在寻找一个实际格式的答案,就像在小于10的某个值之前添加0这样的简单操作,你可以手动检查变量。我还想补充一点,确实,手动检查此功能。除了上面提到的一些简单整洁的格式(您可以轻松地使用(else)if语句添加这些格式)之外,这种方法非常有效,应该适合您的需要。如果您需要任何更改,请留言给我,谢谢!事实上,不,等等,我搞砸了。结果是,
os.clock()
如果毫秒数按您的要求以0结尾(1/100而不是1/1000),则有时返回厘米秒。这也是cpu时间,这意味着我的“解决方案”不准确的范围,平均为0-6亿秒。您可以选择使用它,但避免此问题的唯一方法是,如果您制作或加载某种形式的C库/文件,它会向Lua添加自定义的毫秒精度函数,这也会带来自身的问题。注意:“date\u table.wday”不正确,您需要“date\u table.day”。前者表示一周中的哪一天(例如,在[1..7]中),后者表示一个月中的哪一天。