Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Mendapatkan Tarikh Penciptaan Fail dalam Windows Menggunakan Go?

Bagaimanakah Saya Boleh Mendapatkan Tarikh Penciptaan Fail dalam Windows Menggunakan Go?

Barbara Streisand
Barbara Streisandasal
2024-11-20 18:54:14190semak imbas

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

Menentukan Tarikh Penciptaan Fail dalam Windows Menggunakan Go

Menentukan tarikh penciptaan fail dalam Windows menggunakan Go boleh dicapai dengan memanfaatkan pakej os dan dengan menyasarkan struktur data sistem khusus Windows.

Fungsi os.Stat menyediakan akses kepada metadata fail, tetapi ia tidak termasuk tarikh penciptaan. Sebaliknya, anda perlu menggunakan kaedah FileInfo.Sys() untuk mendapatkan semula struktur data khusus sistem yang mendasari, yang dalam kes Windows ialah struct syscall.Win32FileAttributeData.

Struktur Win32FileAttributeData mengandungi pelbagai atribut, termasuk medan CreationTime. Medan ini mewakili cap masa penciptaan fail sebagai struktur Masa Fail. Untuk menukarnya kepada nilai masa yang boleh dibaca manusia, gunakan masa. Fungsi Unix dengan faktor ketepatan nanosaat.

Berikut ialah contoh coretan kod:

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)
}

Ingat untuk melindungi Windows ini- kod khusus menggunakan kekangan binaan, sama ada dalam fail _windows.go khusus atau dengan menggunakan //go:build windows sintaks.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh 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