【发布时间】:2015-11-02 04:35:47
【问题描述】:
如何获取文件的创建时间?
我发现了什么: Lua 的 lfs 库包含一个获取文件属性的方法。然而,似乎接近回答我的问题的只有那些:
- 访问 - 上次访问时间
- 修改 - 上次数据修改的时间
- 更改 - 上次文件状态更改的时间
根据他们的描述,他们都没有专门检查创建时间。 我已经在谷歌上搜索了一段时间,但找不到答案。
编辑:我在 Windows 系统上。
【问题讨论】:
如何获取文件的创建时间?
我发现了什么: Lua 的 lfs 库包含一个获取文件属性的方法。然而,似乎接近回答我的问题的只有那些:
根据他们的描述,他们都没有专门检查创建时间。 我已经在谷歌上搜索了一段时间,但找不到答案。
编辑:我在 Windows 系统上。
【问题讨论】:
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
【讨论】:
至少在 Unix 上,你不能。 struct stat中有三个与时间相关的成员:
st_atime 上次访问时间。st_mtime 上次数据修改时间。st_ctime 上次状态更改的时间。有些人将st_ctime 误解为文件创建时间,但事实并非如此。 Unix 风格的系统不保留文件创建时间。
最接近的是上次状态更改时间,您可以通过lfs library 获得该时间,或者阅读How can I get last modified timestamp in Lua 以获得没有第三方库的解决方案。
【讨论】: