【问题标题】:Get file creation time with lua使用 lua 获取文件创建时间
【发布时间】:2015-11-02 04:35:47
【问题描述】:

如何获取文件的创建时间?

我发现了什么: Lua 的 lfs 库包含一个获取文件属性的方法。然而,似乎接近回答我的问题的只有那些:

  • 访问 - 上次访问时间
  • 修改 - 上次数据修改的时间
  • 更改 - 上次文件状态更改的时间

根据他们的描述,他们都没有专门检查创建时间。 我已经在谷歌上搜索了一段时间,但找不到答案。

编辑:我在 Windows 系统上。

【问题讨论】:

    标签: file time lua


    【解决方案1】:

    Windows 命令行提供参数/T:C 以显示在dir 命令上下文中使用时的文件创建日期/时间。

    所以,你可以使用io.popen函数如下:

    local sOut = io.popen( "dir /T:C *files*", "r" )
    local sData = sOut:read "*a"
    -- process sData as string to filter content as your needs
    

    【讨论】:

    • 我从没想过我能做到这一点。
    【解决方案2】:

    至少在 Unix 上,你不能。 struct stat中有三个与时间相关的成员:

    • st_atime 上次访问时间。
    • st_mtime 上次数据修改时间。
    • st_ctime 上次状态更改的时间。

    有些人将st_ctime 误解为文件创建时间,但事实并非如此。 Unix 风格的系统不保留文件创建时间。

    最接近的是上次状态更改时间,您可以通过lfs library 获得该时间,或者阅读How can I get last modified timestamp in Lua 以获得没有第三方库的解决方案。

    【讨论】:

    • 前面忘记说了,我是windows系统的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-20
    • 1970-01-01
    • 2011-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多