使用Go 決定Windows 中的檔案建立日期
使用Go 決定Windows 中檔案的建立日期可以利用os 套件來實作並針對os 套件Windows 特定的系統資料結構。
os.Stat 函數提供對檔案的元數據,但不包括建立日期。相反,您需要使用 FileInfo.Sys() 方法來擷取底層系統特定的資料結構,在 Windows 中是 syscall.Win32FileAttributeData 結構。
Win32FileAttributeData 結構包含各種屬性,包括建立時間欄位。此欄位將檔案的建立時間戳表示為 Filetime 結構。若要將其轉換為人類可讀的時間值,請使用帶有奈秒精度因子的 time.Unix 函數。
以下是範例程式碼片段:
package main import ( "fmt" "os" "syscall" "time" ) func main() { fi, err := os.Stat("test.txt") if err != nil { panic(err) } // Ensure platform is Windows. if os.Name != "windows" { panic("This example is only valid for Windows.") } d := fi.Sys().(*syscall.Win32FileAttributeData) cTime := time.Unix(0, d.CreationTime.Nanoseconds()) fmt.Println("File creation date:", cTime) }
請記住保護此Windows-使用建置限制的特定程式碼,可以在專用的_windows.go 檔案中或使用//go :build windows 語法。
以上是如何使用 Go 在 Windows 中取得檔案的建立日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!