如题
window 代码
package main
import (
"fmt"
"os"
"syscall"
"time"
)
func main() {
filename := "./log_write.go"
fileinfo, err := os.Stat(filename)
if err != nil {
panic(err)
}
modTime := fileinfo.ModTime()
ft := fileinfo.Sys().(*syscall.Win32FileAttributeData)
fmt.Println(
"create Time", NanoSecToTime(ft.CreationTime.Nanoseconds()), "\n",
"modTime ", modTime, "\n",
"lastWrite Time ", NanoSecToTime(ft.LastWriteTime.Nanoseconds()),
)
}
func NanoSecToTime(nanoSec int64) time.Time {
sec := nanoSec / 1e9
nsec := nanoSec % 1e9
return time.Unix(sec, nsec)
}
/* output
create Time 2023-08-15 11:16:12.4000944 +0800 CST
modTime 2023-08-17 17:22:49.8994097 +0800 CST
lastWrite Time 2023-08-17 17:22:49.8994097 +0800 CST
*/
linux使用