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 :

Créer un répertoire avec date du jour


Sujet :

Langage Perl

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 84
    Points : 47
    Points
    47
    Par défaut Créer un répertoire avec date du jour
    Salut,

    Je voudrais savoir s'il existe un moyen simple de créer un répertoire avec la date du jour?

    Par avance merci

  2. #2
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    use Date::Calc qw(Today);
     
    my ($year,$month,$day) = Today([1]);
    fonction mkdir() afin de créer le répertoire

    Tu peux aller voir les codes souces sur les dates de ce forum

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 84
    Points : 47
    Points
    47
    Par défaut
    Merci!

    Malheureusement cela ne fonctionne pas avec ta méthode:

    Can't locate Date/Calc.pm in @INC (@INC contains: /usr/local/perl5.8.5/lib/5.8.5/sun4-solaris /usr/local/perl5.8.5/lib/5.8.5 /usr/local/ ..........

    j'imagine que cela dire que le module n'est pas installé sur la machine. Et comme je ne suis pas master de cette machine et que je ne peux installé de nouveau module, j'ai tenté avec le lien que tu m'as fourni et c'est nickel!

    je procède comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    #Create the folder with the current date
    my $RefDateActuelle = date(); # On recupere la réference d'un hash
    my $time = 1234567890;
    my $RefAutreDate = date($time); # On recupere la réference d'un hash
    mkdir ("$root"."$RefDateActuelle->{date}/") or die "impossiblle to create the current date folder.\n";
     
    sub date {
      my $time = shift || time;    #$time par defaut vaut le time actuel
      my ( $seconde, $minute, $heure, $jour, $mois, $annee, $jour_semaine, $jour_annee, $heure_hiver_ou_ete )
        = localtime($time);
      $mois  += 1;
      $annee += 1900;
     
      # On rajoute 0 si le chiffre est compris entre 1 et 9
      foreach ( $seconde, $minute, $heure, $jour, $mois, $annee ) {
        s/^(\d)$/0$1/;
      }
     
      my %date = (
        "date"         => "$jour-$mois-$annee",
        "heure"        => "$heure:$minute:$seconde",
        "jour_semaine" => $jour_semaine,
        "jour_annee"   => $jour_annee,
        "hiverOuEte"   => $heure_hiver_ou_ete,
      );
      return \%date;
    }
    encore merci

  4. #4
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Citation Envoyé par yzf-r Voir le message
    j'imagine que cela dire que le module n'est pas installé sur la machine.
    Oui, c'est bien ça.

    N'oublie pas d'indiquer que le sujet est résolu en utilisant le bouton 'résolu'.

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 84
    Points : 47
    Points
    47
    Par défaut
    j'avais juste une dernière question

    à quoi sert le:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    my $time = 1234567890;
    my $RefAutreDate = date($time); # On recupere la réference d'un hash
    est-ce nécessaire dans mon cas? je comprends pas bien.

  6. #6
    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 : 58
    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
    Points : 5 753
    Points
    5 753
    Par défaut
    Une façon simple de créer des chaines de caractères à partir d'éléments de date (pour un nom de fichier ou de répertoire par exemple), est la fonction POSIX strftime, qui fonctionne comme sprintf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    use POSIX qw(strftime);
     
    $dir = strftime "%Y_%m_%d", localtime; # resultat : 2010_02_08
    Inutile d'installer de module, POSIX est dans le Core de Perl depuis la version 5.
    Pour obtenir le manuel des formats de strftime, consulter le manuel unix de la commande strftime.

  7. #7
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Je pense que c'est en rapport avec epoch : FAQ perl

    L'epoch (de l'anglais époque ou ère) représente la date initiale à partir de laquelle est mesuré le temps par les systèmes d'exploitation.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $RefAutreDate = date($time); # On recupere la réference d'un hash
    Tu passes $time en argument à la fonction 'date' qui te renvoie la valeur de $RefAutreDate (la référence vers ton hash voir FAQ )

  8. #8
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 84
    Points : 47
    Points
    47
    Par défaut
    merci à tous

  9. #9
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Attention, $time dans le code est juste un exemple. Dans ton cas, si tu as besoin de la date actuelle, ne mets pas de time.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    my $RefAutreDate = date(); # On recupere la réference d'un hash

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

Discussions similaires

  1. [MySQL] requete avec date du jour - 30
    Par le69 dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 31/01/2013, 15h38
  2. WSS 3.0 Comment mettre une colonne avec date du jour
    Par aurel80 dans le forum SharePoint
    Réponses: 5
    Dernier message: 31/07/2009, 15h12
  3. [DeskI V5-V6] Requete avec date du jour - 6 mois
    Par lecowboydetchernobyl dans le forum Débuter
    Réponses: 17
    Dernier message: 30/04/2009, 14h49
  4. créer repertoire avec date du jour
    Par captaine93 dans le forum C
    Réponses: 11
    Dernier message: 14/03/2009, 11h19
  5. créer un répertoire avec javascript
    Par karim_usthb dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 31/10/2008, 10h52

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