How can I get last modified timestamp in Lua

后端 未结 2 999
没有蜡笔的小新
没有蜡笔的小新 2020-12-19 16:28

I am trying to work on Lua file handling.

So, I am able to open, read, write, close the files.

local session_debug = io.open(\"/root/session_debug.tx         


        
相关标签:
2条回答
  • 2020-12-19 17:09

    If you don't mind using a library, LuaFileSystem allows you to get the modified timestamp as follows:

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

    A more elaborate example with error handling (will print the name and date of modification of the first argument passed to the script):

    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
    
    0 讨论(0)
  • 2020-12-19 17:16

    There's no built-in function in standard Lua that does this. One way to get it without third-party libraries is to take use of io.popen.

    For example, on Linux, you could use stat:

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

    Now last_modified is the timestamp of the last modified time of testfile. On my system,

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

    Outputs Sat Mar 22 08:36:50 2014.

    0 讨论(0)
提交回复
热议问题