[go] 파일 경로에서 유닉스 시간 정보 얻기

유닉스 시간(또는 에포크 시간)은 1970년 1월 1일부터 현재까지의 초로 표시되는 시간 형식입니다. 파일의 마지막 수정 시간이나 생성 시간을 유닉스 시간으로 얻으면 유용한 경우가 많습니다. 이번에는 Go 언어를 사용하여 파일 경로에서 유닉스 시간 정보를 얻는 방법에 대해 알아보겠습니다.

1. os.Stat 함수 사용하기

우선 파일의 메타데이터를 가져오기 위해 os 패키지의 Stat 함수를 사용합니다.

package main

import (
	"fmt"
	"os"
)

func main() {
	fileInfo, err := os.Stat("example.txt")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("파일의 수정 시간:", fileInfo.ModTime().Unix())
}

위 코드에서 os.Stat 함수는 파일 경로를 입력으로 받아 파일의 메타데이터를 리턴합니다. 이후에 .ModTime().Unix()를 사용하여 수정 시간을 유닉스 시간으로 가져옵니다.

2. os.Lstat 함수 사용하기

때로는 심볼릭 링크가 가리키는 파일의 메타데이터를 가져와야 할 때도 있습니다. 이때 os.Lstat 함수를 사용하여 심볼릭 링크가 실제로 가리키는 파일의 메타데이터를 얻을 수 있습니다.

package main

import (
	"fmt"
	"os"
)

func main() {
	fileInfo, err := os.Lstat("symlink")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("파일의 수정 시간:", fileInfo.ModTime().Unix())
}

위 코드에서 os.Lstat 함수를 사용하여 파일 경로를 입력으로 받아 메타데이터를 리턴받고, 이후에 .ModTime().Unix()를 사용하여 수정 시간을 유닉스 시간으로 가져옵니다.

파일의 경로를 입력으로 받아 유닉스 시간 정보를 얻는 방법에 대해 알아보았습니다. 파일의 메타데이터에서 유닐스 시간을 활용하여 원하는 작업을 수행할 수 있을 것입니다.

참고문헌: