Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mendapatkan Tarikh Penciptaan Fail dalam Windows Menggunakan Go?

Bagaimana untuk Mendapatkan Tarikh Penciptaan Fail dalam Windows Menggunakan Go?

Susan Sarandon
Susan Sarandonasal
2024-11-29 19:26:11238semak imbas

How to Get a File's Creation Date in Windows Using Go?

Mengambil semula Tarikh Penciptaan Fail dalam Windows menggunakan Go

Soalan: Bagaimanakah saya boleh mengakses tarikh penciptaan fail dalam sistem Windows menggunakan bahasa pengaturcaraan Go?

Jawapan: Kepada mendapatkan semula tarikh penciptaan fail dalam Windows menggunakan Go, anda boleh menggunakan kaedah Sys os.File untuk mendapatkan struktur data khusus sistem, khususnya, Win32FileAttributeData untuk sistem Windows. Struktur Win32FileAttributeData mengandungi, antara medan lain, CreationTime, yang mewakili cap masa penciptaan fail.

Untuk menunjukkan pendekatan ini:

import (
    "os"
    "syscall"
    "time"
)

func GetFileCreationTime(path string) (time.Time, error) {
    fileInfo, err := os.Stat(path)
    if err != nil {
        return time.Time{}, err
    }

    // Verify that the file information is compatible with Windows
    sysFileInfo, isWindows := fileInfo.Sys().(*syscall.Win32FileAttributeData)
    if !isWindows {
        return time.Time{}, nil
    }

    // Convert the nanosecond timestamp to a `time.Time` object
    return time.Unix(0, sysFileInfo.CreationTime.Nanoseconds()), nil
}

Contoh Penggunaan:

creationTime, err := GetFileCreationTime("./myfile.txt")
if err != nil {
    // Handle file opening error
}
fmt.Println("File creation time:", creationTime)

Dengan menggunakan pendekatan ini, anda boleh mendapatkan semula ciptaan dengan mudah tarikh fail dalam sistem Windows menggunakan bahasa pengaturcaraan Go.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Tarikh Penciptaan Fail dalam Windows Menggunakan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn