times
Usage
File Times for #golang
Go has a hidden time functions for most platforms, this repo makes them accessible.
package main
import (
"log"
"gopkg.in/djherbis/times.v1"
)
func main() {
t, err := times.Stat("myfile")
if err != nil {
log.Fatal(err.Error())
}
log.Println(t.AccessTime())
log.Println(t.ModTime())
if t.HasChangeTime() {
log.Println(t.ChangeTime())
}
if t.HasBirthTime() {
log.Println(t.BirthTime())
}
}
Supported Times
------------, windows, linux, solaris, dragonfly, nacl, freebsd, darwin, netbsd, openbsd, plan9, js, :-----:, :-------:, :-----:, :-------:, :---------:, :------:, :-------:, :----:, :------:, :-------:, :-----:, :-----:, atime, ✓, ✓, ✓, ✓, ✓, ✓, ✓, ✓, ✓, ✓, ✓, mtime, ✓, ✓, ✓, ✓, ✓, ✓, ✓, ✓, ✓, ✓, ✓, ctime, ✓*, ✓, ✓, ✓, ✓, ✓, ✓, ✓, ✓, ✓, btime, ✓, ✓, ✓, ✓, * Windows XP does not have ChangeTime so HasChangeTime = false,
however Vista onward does have ChangeTime so Timespec.HasChangeTime() will
only return false on those platforms when the syscall used to obtain them fails.
- Also note, Get(FileInfo) will now only return values available in FileInfo.Sys(), this means Stat() is required to get ChangeTime on Windows
Installation
go get gopkg.in/djherbis/times.v1