>  기사  >  백엔드 개발  >  GOLANG - 특정 날짜 범위 내에 생성된 파일 찾기

GOLANG - 특정 날짜 범위 내에 생성된 파일 찾기

WBOY
WBOY앞으로
2024-02-09 22:30:081032검색

GOLANG - 查找在某个日期范围内创建的文件

일상 업무에서 특정 날짜 범위에 생성된 파일을 찾아야 하는 경우가 많습니다. GOLANG에서는 이 기능을 구현하기 위해 일부 내장 함수와 라이브러리를 사용할 수 있습니다. 이 기사에서 PHP 편집자 Xiaoxin은 GOLANG 프로그래밍 언어를 사용하여 지정된 날짜 범위 내의 파일을 찾는 기능을 구현하는 방법을 소개합니다. 일상적인 작업이든 개인 프로젝트이든 이 기능은 매우 실용적입니다. 함께 알아봅시다!

질문 내용

특정 날짜 범위 내 특정 폴더에 있는 파일을 찾는 방법을 알고 싶습니다. 예: 2013년 8월 1일부터 2013년 8월 31일 사이에 생성된 x 폴더의 모든 파일을 찾고 싶습니다.

이것을 시도했습니다:

dir := "path/to/dir"
t, err := time.Parse("2006-01-02T15:04:05-07:00", "2018-04-07T05:48:03+08:00")

if err != nil {
    panic(err)
}

paths, infos, err := FindFilesAfter(dir, t)
if err != nil {
    panic(err)
}

for i, _ := range paths {
    checkFile(paths[i], infos[i])
}

func FindFilesAfter(dir string, t time.Time) (paths []string, infos []os.FileInfo, err error) {
    err = filepath.Walk(dir, func(p string, i os.FileInfo, e error) error {
        if e != nil {
            return e
        }

        if !i.IsDir() && i.ModTime().After(t) {
            paths = append(paths, p)
            infos = append(infos, i)
        }
        return nil
    })
    return
}

Solution

다음 답변이 귀하가 찾고 있는 답변이기를 바랍니다. ​​p>

  • 시간 범위에 대한 질문이 있는 경우 time 包中的函数 beforeafter
  • 를 사용할 수 있습니다.
  • 수정 시간보다는 생성 시간을 찾는 것이 더 궁금한 경우. atime, mtime 및 ctime을 찾으려면 패키지 syscall을 사용하는 것이 좋습니다. 기본적으로는 다음과 같습니다.

atime(액세스 시간)은 파일 액세스 시간입니다

mtime(수정 시간)은 파일 수정 시간

ctime(변경 시간)은 inode 또는 파일 변경 시간

으아아아

위 내용은 GOLANG - 특정 날짜 범위 내에 생성된 파일 찾기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제