IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

rendre lisible la valeur renvoyée par "-M $file"


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 158
    Par défaut rendre lisible la valeur renvoyée par "-M $file"
    Bonjour,

    Je voudrais savoir comment convertir en format date lisible la valeur renvoyée par -M $mon_fichier

    Dans mon code j'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $last_mod_time = -M $file;
    et j'aimerai exploiter $last_mod_time en format MMHH.

    merci pour votre aide

  2. #2
    Membre émérite Avatar de Gardyen
    Homme Profil pro
    Bio informaticien
    Inscrit en
    Août 2005
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bio informaticien

    Informations forums :
    Inscription : Août 2005
    Messages : 637
    Par défaut
    Ce topic a été ajouté à la FAQ récemment.

    -M te renvoie une durée en jours, on pourrait donc utiliser une partie de la fonction ci-dessus en convertissant en secondes

    Hope this helps !

  3. #3
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Comme la documentation "perldoc perlfunc" l'indique, -M retourne
    Script start time minus file modification time, in days.
    Par ailleurs la documentation "perldoc perlvar" indique que :
    $^T The time at which the program began running, in seconds since
    the epoch (beginning of 1970). The values returned by the -M,
    -A, and -C filetests are based on this value.
    On a donc :

    -M $file (en jour) = $^T (en s) - modified_date($file) (en s)

    et donc

    modified_date($file) = $^T - 86400*(-M $file)

    Pour finir, modified_date est fourni en seconde depuis Epoch, ce qui n'est pas pratique. Pour l'avoir en clair (en chaine), il suffit d'utiliser la fonction localtime (perldoc -f localtime) dans un contexte de chaine pour avoir le résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ perl -E 'say "".localtime($^T-(86400*-M "file.xbm"))'
    Thu Jan 31 10:45:54 2013
    La même en prenant en compte la locale (ici, choix de la locale fr_FR) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $ perl -MPOSIX=setlocale,strftime -E 'setlocale(LC_TIME, "fr_FR"); say strftime "%a %b %e %H:%M:%S %Y", localtime($^T-(86400*(-M "file.xbm")))'
    jeu. janv. 31 10:45:54 2013

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 158
    Par défaut
    J'ai résolu mon problème.
    Merci pour votre aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Valeur renvoyée par interrupteur (check box)
    Par nath-0-0 dans le forum WinDev
    Réponses: 8
    Dernier message: 29/11/2006, 16h33
  2. Réponses: 1
    Dernier message: 31/07/2006, 13h54
  3. [SQL] php et recuperation d'une valeur renvoyée par une fonction sql
    Par highman dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/06/2006, 15h42
  4. Rendre invisible les valeurs passant par l'URL
    Par Jones dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 09/11/2004, 11h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo