Maison  >  Article  >  développement back-end  >  Comment puis-je obtenir la date de création d'un fichier sous Windows à l'aide de Go ?

Comment puis-je obtenir la date de création d'un fichier sous Windows à l'aide de Go ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-20 18:54:14108parcourir

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

Détermination de la date de création d'un fichier sous Windows à l'aide de Go

La détermination de la date de création d'un fichier sous Windows à l'aide de Go peut être obtenue en tirant parti du package OS et en ciblant les structures de données système spécifiques à Windows.

La fonction os.Stat donne accès aux métadonnées du fichier, mais elle n'inclut pas les date de création. Au lieu de cela, vous devez utiliser la méthode FileInfo.Sys() pour récupérer les structures de données sous-jacentes spécifiques au système, qui dans le cas de Windows est une structure syscall.Win32FileAttributeData.

La structure Win32FileAttributeData contient divers attributs, notamment le champ CreationTime. Ce champ représente l'horodatage de création du fichier sous forme de structure Filetime. Pour le convertir en une valeur temporelle lisible par l'homme, utilisez la fonction time.Unix avec un facteur de précision de la nanoseconde.

Voici un exemple d'extrait de code :

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

N'oubliez pas de protéger ce Windows- code spécifique utilisant des contraintes de build, soit dans un fichier _windows.go dédié, soit en utilisant la syntaxe //go:build windows.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn