作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试遍历目录中的文件并将它们的 ModTime 与特定日期进行比较,以便删除旧文件。
我正在使用 ioutil.ReadDir() 来获取文件,但我对如何检索每个文件的 ModTime 感到困惑。
谢谢
最佳答案
ioutil.ReadDir
的返回值是([]os.FileInfo, error)
。您只需迭代 []os.FileInfo
slice 并检查每个 slice 的 ModTime()
。 ModTime()
返回一个 time.Time
,因此您可以以任何您认为合适的方式进行比较。
package main
import (
"fmt"
"io/ioutil"
"log"
"time"
)
var cutoff = 1 * time.Hour
func main() {
fileInfo, err := ioutil.ReadDir("/tmp")
if err != nil {
log.Fatal(err.Error())
}
now := time.Now()
for _, info := range fileInfo {
if diff := now.Sub(info.ModTime()); diff > cutoff {
fmt.Printf("Deleting %s which is %s old\n", info.Name(), diff)
}
}
}
关于Go:如何遍历文件并将 ModTime 与日期进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28681777/
我正在尝试遍历目录中的文件并将它们的 ModTime 与特定日期进行比较,以便删除旧文件。 我正在使用 ioutil.ReadDir() 来获取文件,但我对如何检索每个文件的 ModTime 感到困惑
我试图在不同的操作系统中获得一致的文件修改时间。我正在创建一个文件,然后使用 info := os.Stat(file) 然后使用 info.ModTime()。 在 Windows 上,这看起来符合
我需要使用 xslt 将默认的 mysql modtimes 转换为 UTC 格式的日期时间。 我有一个 xml 文档,其中包含源自 mysql modtimes 的日期,格式如下:2010-06-3
我是一名优秀的程序员,十分优秀!