Bestimmen des Erstellungsdatums einer Datei in Windows mit Go
Das Bestimmen des Erstellungsdatums einer Datei in Windows mit Go kann mithilfe des Betriebssystempakets erfolgen und indem es auf die Windows-spezifischen Systemdatenstrukturen abzielt.
Die os.Stat-Funktion bietet Zugriff auf die Metadaten der Datei, tut dies aber auch nicht das Erstellungsdatum enthalten. Stattdessen müssen Sie die FileInfo.Sys()-Methode verwenden, um die zugrunde liegenden systemspezifischen Datenstrukturen abzurufen, bei denen es sich im Fall von Windows um eine syscall.Win32FileAttributeData-Struktur handelt.
Die Win32FileAttributeData-Struktur enthält verschiedene Attribute, darunter das CreationTime-Feld. Dieses Feld stellt den Erstellungszeitstempel der Datei als Filetime-Struktur dar. Um es in einen für Menschen lesbaren Zeitwert umzuwandeln, verwenden Sie die time.Unix-Funktion mit einem Nanosekunden-Präzisionsfaktor.
Hier ist ein Beispiel-Codeausschnitt:
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) }
Denken Sie daran, dieses Windows- zu schützen. Spezifischer Code mithilfe von Build-Einschränkungen, entweder innerhalb einer dedizierten _windows.go-Datei oder mithilfe der Windows-Syntax //go:build.
Das obige ist der detaillierte Inhalt vonWie kann ich mit Go das Erstellungsdatum einer Datei in Windows abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!