2010-04-21 7 views
1

Je suis conscient que linux dispose d'informations d'horodatage disponibles pour prog. langs. ce qui est très pratique.Horodatage sous Windows similaire à l'horodatage Unix et aux manipulations de fichiers

Je développe un programme et j'ai besoin d'ajouter l'heure de la date au fichier créé. et cela devrait être unique. Par la suite je veux analyser les fichiers, mais je veux analyser le dernier seulement.

Y at-il une telle option dans .net comme timestamp dans les systèmes * nix?

Des exemples là-bas?

Merci.

Répondre

2

Vous pouvez utiliser la propriété Ticks d'une structure DateTime. Ce n'est pas compatible avec l'horodatage UNIX, mais il peut être utilisé pour retourner un long (Int64) qui représente la date et l'heure avec une précision d'un dix-millionième de seconde. Par exemple.

DateTime.Now.Ticks 

Au moment de la rédaction de ce renvoie la valeur de 634074617762026300

Vous pouvez convertir les tiques revenir à un DateTime dans le constructeur. Par exemple.

DateTime date = new DateTime(634074617762026300); 
2

Si vous voulez des horodatages à partir de fichiers, regardez la classe FileInfo. Si vous souhaitez ajouter l'horodatage UNIX au fichier (peut-être le nom du fichier ou que vous avez dit, ajouté à la fin), cette fonction vous obtient un horodatage UNIX:

public static int UnixTimestamp() 
{ 
    var utcEpoch = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); 
    var utcNow = DateTime.UtcNow; 
    var span = utcNow - utcEpoch; 
    return (int)span.TotalSeconds; 
} 
2

« unique » et les noms de fichiers basés sur les horodatages sont des exigences contradictoires. Il tombe en morceaux lorsque la machine devient plus rapide. Les solutions de contournement qui essaient de vérifier si le fichier existe déjà s'affaiblissent lorsque plus d'une instance de votre programme s'exécute. Seul Path.GetTempFileName() peut garantir un nom complètement unique. Utilisez FileInfo.CreationTimeUtc pour trouver le dernier.

+0

il y a un répertoire, et il y a beaucoup de fichiers dedans. dois-je vérifier tous les fichiers, horodatage et faire comme trouver miminum ou max. ou y a-t-il un moyen plus facile de le faire? Merci. – DarthVader

+0

@user: qu'est-ce qui est vraiment difficile? –