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

Barbara Streisand
Lepaskan: 2024-11-20 18:54:14
asal
104 orang telah melayarinya

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)
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan