获取文件创建时间, 有 Win 和 Linux 差异?
要针对不同的系统,作判断吗?
~~~
package main
import (
"os"
"fmt"
)
func timespecToTime(ts syscall.Timespec) time.Time {
return time.Unix(int64(ts.Sec), int64(ts.Nsec))
}
func main() {
finfo, _ := os.Stat("1.txt")
// Sys()返回的是interface{},所以需要类型断言,不同平台需要的类型不一样,linux上为*syscall.Stat_t
stat_t := finfo.Sys().(*syscall.Stat_t)
fmt.Println(stat_t)
// atime,ctime,mtime分别是访问时间,创建时间和修改时间,具体参见man 2 stat
fmt.Println(timespecToTime(stat_t.Atim))
fmt.Println(timespecToTime(stat_t.Ctim))
fmt.Println(timespecToTime(stat_t.Mtim))
}
~~~
有疑问加站长微信联系(非本文作者)