有时候我们需要定期的更新配置文件,如此处的getfolders.go需要去3个服务器爬取对应的信息,而每天目录都在变,如果你不更新,就会出现搜不到单的情况
//判断文件是否过时
//pth: 文件目录
//hour: 距现在多少小时算过时
func IsFileOutOfDate(pth string, hour int) bool {
tm1, err := getFileModTime(pth)
if err != nil {
return true
}
tm2 := time.Now().Unix() //unix定义返回的是s
if tm2-tm1 > int64(hour*3600) {
return true
} else {
return false
}
}
//获取文件修改时间 返回unix时间戳
func getFileModTime(pth string) (int64, error) {
f, err := os.Open(pth)
if err != nil {
return time.Now().Unix(), err
}
defer f.Close()
fi, err := f.Stat()
if err != nil {
return time.Now().Unix(), err
}
return fi.ModTime().Unix(), nil
}
相关定义src/io/fs/fs.go
: