"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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 ?

Publié le 2024-11-26
Parcourir:592

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

Récupération des dates de création de fichiers dans Windows à l'aide de Go

Lorsque vous traitez des fichiers, il est souvent nécessaire de récupérer des informations telles que leur date de création. Alors que les packages Go populaires comme os.Stat et os.Chtimes fournissent des informations sur d'autres attributs de fichiers, obtenir la date de création semble difficile. Cet article présentera une solution spécifique pour accéder à la date de création des fichiers dans les environnements Windows.

Contrairement à d'autres attributs, la date de création n'est pas facilement accessible à l'aide des méthodes susmentionnées. Au lieu de cela, nous devons nous plonger dans la méthode FileInfo.Sys, qui fournit des structures de données spécifiques au système. Pour Windows, cela correspond au type syscall.Win32FileAttributeData.

Le type Win32FileAttributeData englobe plusieurs attributs de fichier, dont le champ CreationTime. Ce champ contient un type Filetime, qui représente un entier de 64 bits représentant le nombre de nanosecondes depuis le 1er janvier 1601.

Pour récupérer l'heure de création au format Unix Timestamp, on peut utiliser le code suivant :

d := fi.Sys().(*syscall.Win32FileAttributeData)
cTime = time.Unix(0, d.CreationTime.Nanoseconds())

Cette approche permet d'obtenir efficacement la date de création des fichiers dans un environnement Windows. Cependant, il est crucial de noter que cette solution est spécifique à Windows et doit être intégrée dans des contraintes de build. Ceci peut être réalisé soit en plaçant le code dans un fichier _windows.go, soit en le protégeant à l'aide de la directive //go:build windows.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3