如何在Lua中获得上次修改的时间戳

时间:2015-10-23 07:21:07

标签: file lua timestamp file-handling last-modified

我正在尝试处理Lua文件。

因此,我可以打开,读取,写入,关闭文件。

local session_debug = io.open("/root/session_debug.txt", "a")
session_debug:write("Some text\n")
session_debug:close()

我如何知道此文件的上次修改日期时间戳。

2 个答案:

答案 0 :(得分:5)

标准Lua中没有内置函数可以做到这一点。没有第三方库的一种方法是使用io.popen

例如,在Linux上,您可以使用stat

local f = io.popen("stat -c %Y testfile")
local last_modified = f:read()

现在last_modifiedtestfile上次修改时间的时间戳。在我的系统上,

print(os.date("%c", last_modified))

输出Sat Mar 22 08:36:50 2014

答案 1 :(得分:1)

如果您不介意使用库,则LuaFileSystem允许您按以下方式获取修改后的时间戳:

local t = lfs.attributes(path, 'modification')

一个带有错误处理的更详细的示例(将打印传递给脚本的第一个参数的名称和修改日期):

local lfs = require('lfs')
local time, err = lfs.attributes(arg[1], 'modification')
if err then
    print(err)
else
    print(arg[1], os.date("%c", time))
end