linux.go 562 B

123456789101112131415161718192021222324252627282930
  1. //go:build linux
  2. package get_access_time
  3. import (
  4. "github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
  5. "os"
  6. "syscall"
  7. "time"
  8. )
  9. type OneGetAccessTime struct {
  10. }
  11. func (d OneGetAccessTime) GetOSName() string {
  12. return "linux"
  13. }
  14. func (d OneGetAccessTime) GetAccessTime(fileName string) (time.Time, error) {
  15. // return now time and err if file does not exist
  16. fi, err := os.Stat(fileName)
  17. if os.IsNotExist(err) {
  18. return time.Now(), err
  19. }
  20. aTime := fi.Sys().(*syscall.Stat_t).Atim
  21. return my_util.Second2Time(aTime.Nanoseconds() / 1e9), nil
  22. }