如何使用 Go 在 Windows 中查找文件创建日期

ev_*_*dev 5 windows go

我希望在 Windows 中找到文件的创建日期。我怎么能简单地完成这个?

我一直在使用os.Statos.Chtimes获取其他文件信息,但它似乎没有提供有关创建日期的信息。

Jim*_*imB 7

FileInfo.Sys方法返回系统特定的数据结构。在 Windows 上,这将是一个syscall.Win32FileAttributeData,看起来像

type Win32FileAttributeData struct {
    FileAttributes uint32
    CreationTime   Filetime
    LastAccessTime Filetime
    LastWriteTime  Filetime
    FileSizeHigh   uint32
    FileSizeLow    uint32
}
Run Code Online (Sandbox Code Playgroud)

获取创建时间将类似于:

d := fi.Sys().(*syscall.Win32FileAttributeData)
cTime = time.Unix(0, d.CreationTime.Nanoseconds())
Run Code Online (Sandbox Code Playgroud)

由于这是特定于 Windows 的,因此这当然应该受到构建约束的保护。使用_windows.go文件或// +build windows