Search code examples
fileluatimestampfile-handlinglast-modified

How can I get last modified timestamp in Lua


I am trying to work on Lua file handling. I am able to open (read), write and close the file via:

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

How can I find the timestamp of when the file was last modified?


Solution

  • 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.