3 回答

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以使用os.Stat來獲取FileInfo結(jié)構(gòu),該結(jié)構(gòu)還包含上次訪問時(shí)間(以及上次修改時(shí)間和上次狀態(tài)更改時(shí)間)。
info, err := os.Stat("example.txt")
if err != nil {
// TODO: handle errors (e.g. file not found)
}
// info.Atime_ns now contains the last access time
// (in nanoseconds since the unix epoch)
之后,您可以使用time.Nanoseconds來獲取當(dāng)前時(shí)間(自u(píng)nix紀(jì)元,1970年1月1日00:00:00 UTC以來,也以納秒為單位)。要獲得以納秒為單位的持續(xù)時(shí)間,只需減去這兩個(gè)值:
duration := time.Nanoseconds() - info.Atime_ns

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊
通過強(qiáng)制轉(zhuǎn)換os.FileInfo為*syscall.Stat_t:
package main
import ( "fmt"; "log"; "os"; "syscall"; "time" )
func main() {
for _, arg := range os.Args[1:] {
fileinfo, err := os.Stat(arg)
if err != nil {
log.Fatal(err)
}
atime := fileinfo.Sys().(*syscall.Stat_t).Atim
fmt.Println(time.Unix(atime.Sec, atime.Nsec))
}
}
- 3 回答
- 0 關(guān)注
- 487 瀏覽
添加回答
舉報(bào)