1234567891011121314151617181920212223242526272829303132 |
- //go:build linux
- package get_access_time
- import (
- "os"
- "syscall"
- "time"
- )
- type OneGetAccessTime struct {
- }
- func (d OneGetAccessTime) GetOSName() string {
- return "linux"
- }
- func (d OneGetAccessTime) GetAccessTime(fileName string) (time.Time, error) {
- // return now time and err if file does not exist
- fi, err := os.Stat(fileName)
- if os.IsNotExist(err) {
- return time.Now(), err
- }
- aTime := fi.Sys().(*syscall.Stat_t).Atim
- return timeSpecToTime(aTime), nil
- }
- func timeSpecToTime(ts syscall.Timespec) time.Time {
- return time.Unix(int64(ts.Sec), int64(ts.Nsec))
- }
|