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 :

[Debutant] format date de type yyyy-mm-dd 2eme question


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 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 114
    Par défaut [Debutant] format date de type yyyy-mm-dd 2eme question
    Bonjour,
    je débute en perl, et j'aimerais récupérer la date au format yyyy-mm-dd
    j'arrive à l'avoir dans ce format :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Mon Nov 28 15:55:48 2005
    je pensais travailler sur cette chaine de caractère en faisant des extractions mais je n'ai pas le mois au format sur 2 chiffres.

    Pouvez vous m'aider

    Merci

  2. #2
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    my @tab_date =localtime(time);
    my $jour = $tab_date[3];
    my $mois = ($tab_date[4]+1);
    my $annee =  ($tab_date[5]+1900);
    my $heure = $tab_date[2];
    my $minute = $tab_date[1];
    my $sec= $tab_date[0];
    print "$jour/$mois/$annee $tab_date[2]h:$minute:$sec\n";
    voilà, ça t'aidera!!

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 114
    Par défaut
    merci pour ta réponse, ça fonctionne.

    j'ai une autre question.

    le mois et le jour sont retourné sur 2chiffres ou 1 seul s'il n'y en a qu'un?

    janvier : 1 ou 01??

  4. #4
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    un chiffre je crois, à toi de rajouter le zero avec une regex.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mois .= "0" if ($mois =~ /^\d$/);
    voilà!!

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 114
    Par défaut
    ok merci

  6. #6
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    un petit tag resolu please.

  7. #7
    Membre émérite
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Par défaut
    Sinon avec Date::Manip de cpan

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UnixDate($date, "%Y-%m-%d");

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 114
    Par défaut
    Une autre question sur les dates.

    je récupère une date d'une bdd au format 2005-11-29.

    comment savoir si c'est un lundi mardi etc.
    pour la date du jour par exemple j'arrive à le ressortir en prenant date[6] suite à un localtime mais là je ne vois pas.

    merci pour votre aide.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Avec la variable $wday. Cete variable contient le numéro du jour de la semaine (1 pour lundi, 2 pour mardi etc...).

    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
     
    my %days = ( 1 => 'lundi',
                 2 => 'mardi',
                 3 => 'mercredi',
                 4 => 'jeudi',
                 5 => 'vendredi',
                 6 => 'samedi',
                 7 => 'dimanche');
     
     
    my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
                                                    localtime(time);
     
     
    print $days{$wday};

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 114
    Par défaut
    oui ça fonctionne pour un objet date
    mais comment retrouver le jour d'une variable

    comment savoir si $date est un lundi, mardi??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $date='2005-10-02';

  11. #11
    Membre émérite
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    use Date::Manip;
     
    my @time = localtime(time());
    my $date_day = sprintf("%02d",$time[3]);
    my $date_month = sprintf("%02d",$time[4]+1);
    my $date_year = $time[5]+1900;
    my $date = qq|$date_year-$date_month-$date_day|;
     
    my $jour = UnixDate($date,"%A");
    http://search.cpan.org/~sbeck/DateManip-5.44/Manip.pod

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 114
    Par défaut
    ok merci

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

Discussions similaires

  1. [EG] Afficher format Date de type Janvier dans graphique
    Par patval dans le forum Outils BI
    Réponses: 2
    Dernier message: 30/11/2012, 22h35
  2. [DEBUTANT] Format Date jj/mm/anne hh:mm:ss
    Par drikse dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 01/09/2008, 14h10
  3. Type ado et format date général
    Par totoche dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 18/04/2007, 22h56
  4. [DEBUTANT] Format de date - expression régulière
    Par jpillonel dans le forum Langage
    Réponses: 2
    Dernier message: 07/03/2007, 10h48
  5. [Debutant] Format des dates ?
    Par Invité dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 02/09/2005, 14h55

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