darwin.go 522 B

12345678910111213141516171819202122232425262728
  1. //go:build darwin
  2. package get_access_time
  3. import (
  4. "os"
  5. "time"
  6. )
  7. type OneGetAccessTime struct {
  8. }
  9. func (d OneGetAccessTime) GetOSName() string {
  10. return "darwin"
  11. }
  12. func (d OneGetAccessTime) GetAccessTime(fileName string) (time.Time, error) {
  13. // return now time and err if file does not exist
  14. // TODO: change time.Now()
  15. fi, err := os.Stat(fileName)
  16. if os.IsNotExist(err) {
  17. return time.Now(), err
  18. }
  19. aTime := fi.Sys().(*syscall.Stat_t).Atimespec
  20. return time.Unix(int64(aTime.Sec), int64(aTime.Nsec)), nil
  21. }