Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1369 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  comparaison heure

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

comparaison heure

n°1756255
donny3
Posté le 07-07-2008 à 11:58:58  profilanswer
 

Salut,
 
J'ai un fichier qui contient des données avec la date et l'heure dans ce format :
 
2008-07-07 07:48:16 xxxxxxxxxxxxx
2008-07-07 07:50:16 yyyyyyyyyyyyy
2008-07-07 08:48:16 zzzzzzzzzzzzzz
 
Je parse mon fichier et avec ceci strftime( '%Y-%m-%d', localtime ); j'arrive a recupéré les lignes pourlesquel la date est egal à la date du jour;
 
Mais le probleme est que si je lance mes traitements plusieurs fois dans la journée ,  
je ne souhaiterais recuperer que les lignes compris entre une certaine plage d'horaire.
Par exemple , toutes celles > 07:50:16.
Je ne vois pas comment comparé l'heure systeme (du jour) avec l'heure que j'aurai recuperer dans le fichier (l'heure du fichier est une chaine de caractere);
L'heure systeme je la recupere avec cela : strftime( '%H:%M:%S', localtime ).
 
Merci de votre aide

mood
Publicité
Posté le 07-07-2008 à 11:58:58  profilanswer
 

n°1756264
anapajari
s/travail/glanding on hfr/gs;
Posté le 07-07-2008 à 12:20:07  profilanswer
 

comprends pas trop le problème, t'as juste à faire un petit truc comme ça :

Code :
  1. my $today =  strftime( '%Y-%m-%d', localtime );
  2. my $minH  = $ARGV[0] || '0';
  3. my $maxH  = $ARGV[1] || '25';
  4. open(FH, 'a.txt') || die('no file');
  5. while(<FH> ){
  6.  /(.*?) (.*?) (.*?)/;
  7.  if ( $1 eq $today && $minH le $2 && $2 le $maxH){
  8.    print "OK : ",$_,"\n";
  9.  } else {
  10.    print "NOK: ",$_,"\n";
  11.  }
  12.  
  13. }
  14. close FH;


---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1756869
donny3
Posté le 08-07-2008 à 14:32:45  profilanswer
 

merci pour ton code,
j'ai quelque petite question, dans ceci :

Citation :

{  /(.*?) (.*?) (.*?)/;


La premiere parenthese correspond à $1 et la deuxieme correspond à $2 et la  
troisieme serait un $3 et correspondrait au reste de la ligne,
c'est bien cela ?
Si $2 correspond à l'heure, perl est capable de l'interpreter et de comparer ?
Il ne les traite pas comme des chaînes de caracteres ?
 
Merci

n°1756877
anapajari
s/travail/glanding on hfr/gs;
Posté le 08-07-2008 à 14:38:32  profilanswer
 

donny3 a écrit :

j'ai quelque petite question, dans ceci :

Citation :

{  /(.*?) (.*?) (.*?)/;



ça c'est feignant attitude hein :o
Cette ligne ( et la ligne du dessus) en version code "clair" doit s'écrire:

Code :
  1. while ( $line = <FH> ){
  2.  my @data = ( $line =~ /(.*?) (.*?) (.*?)/ );
  3. }


où un truc dans le genre....

donny3 a écrit :

La premiere parenthese correspond à $1 et la deuxieme correspond à $2 et la
troisieme serait un $3 et correspondrait au reste de la ligne,
c'est bien cela ?


mouaip

donny3 a écrit :

Si $2 correspond à l'heure, perl est capable de l'interpreter et de comparer ?
Il ne les traite pas comme des chaînes de caracteres ?


Il la traite effectivement comme une chaine de caractère... Il s'avère juste que la comparaison sur les chaines de caractères ( remarque le le et non le < ) te retourne le bon résultat sans avoit besoin de "l'interpreter"

 


Message édité par anapajari le 08-07-2008 à 14:39:25

---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1757221
donny3
Posté le 09-07-2008 à 10:38:24  profilanswer
 

LOL
c'est pas feignant attitude, c'est juste pour infos parceque
mon heure je la recupere à l'aide d'un substr dans mon fichier.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  comparaison heure

 

Sujets relatifs
[ C ] Besoin d'aide pour afficher l'heure en temps réelcomparaison entre deux images
[resolu]heure d'envoi d'un formulaireBench de moteurs de bases de données
Comparaison de valeurs dans deux HashComparaison de données sous Excel
Comparaison et Remplacement Stringcomparaison de registre et fichier .reg
[Access / ASP ] Comparaison heure (access) et chaine (ASP) [resolu]comparaison de date et heure
Plus de sujets relatifs à : comparaison heure


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR