如何在Go中获取文件的最后访问日期和时间?

有谁知道如何检查文件访问日期和时间?该函数返回修改后的日期和时间,我需要将访问的日期时间与当前日期和时间进行比较的内容。


慕的地10843
浏览 442回答 3
3回答

幕布斯6054654

您可以使用os.Stat来获取FileInfo结构,该结构还包含上次访问时间(以及上次修改时间和上次状态更改时间)。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来获取当前时间(自unix纪元,1970年1月1日00:00:00 UTC以来,也以纳秒为单位)。要获得以纳秒为单位的持续时间,只需减去这两个值:duration := time.Nanoseconds() - info.Atime_ns

不负相思意

通过强制转换os.FileInfo为*syscall.Stat_t:package mainimport ( "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))    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go