Page 1 sur 1

[..] Différence entre deux dates précises.

Posté : jeu. 03 mai 2012 20:49
par jwelcsbe
Bonjour à tous,

Je viens demander votre aide pour un nouveau script qui s'avère plus compliqué que je ne pensais.

J'ai beaucoup recherché sur le forum précédemment mais aucun post ne correspond à mes attentes.

Voilà, toutes les 5mn un script est exécuté par le gestionnaire de tâche windows, cela à pour incidence de modifier la date de modification à chaque fois.

Je voudrais être capable de faire un script qui effectue la différence entre l'heure actuelle du PC et la dernière heure de modification du fichier.

Il faudra que j'ai un résultat de l'ordre de quelques MIN & SEC.

Il servira uniquement à vérifier si le gestionnaire de tâche windows continue de tourner correctement.

J'espère avoir été clair, si vous avez des questions pour plus d'approfondissements, n'hésitez surtout pas !

Re: [..] différence entre deux dates précises.

Posté : jeu. 03 mai 2012 21:20
par blacksoul305
Salut,

cela devrait marcher.

Code : Tout sélectionner

$fichier = "" ; chemin du fichier à vérifier

$toCheck = FileGetTime($fichier)

MsgBox(64,"Différence","La différence de minutes est de : " & $toCheck[4]-@HOUR & @CRLF & "La différence de secondes est de : " & $toCheck[5]-@MIN & ".")
EDIT : Modification du code, j'ai mis dans l'ordre de l'heure et de la minute, changé à l'ordre de la minute et de la seconde.

Re: [..] différence entre deux dates précises.

Posté : ven. 04 mai 2012 02:14
par jchd
Oulà, avec ton code on a un problème à l'heure du crime : 00h04m33s - 23h59m34s

Oublie ça et fais un _DateDiff() puis StringFormat() pour présenter le résultat en MM:SS si c'est nécessaire.

Re: [..] Différence entre deux dates précises.

Posté : ven. 04 mai 2012 18:26
par Tlem
Puisque le but est de surveiller la mise à jour d'un fichier, on peut aussi utiliser _Date_Time_GetFileTime et Date_Time_CompareFileTime dans une simple boucle. ;)

Edit : Ou simplement surveiller le temps depuis la dernière modification :

Code : Tout sélectionner

#include <Date.au3>

$ft = FileGetTime("C:\Test1.txt")
$iDateCalc = _DateDiff('s', $ft[0]&"/"&$ft[1]&"/"&$ft[2]&" "&$ft[3]&":"&$ft[4]&":"&$ft[5], _NowCalc())
MsgBox(4096, "", $iDateCalc & " seconde(s) depuis la dernière modification.")