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

Programmation et administration système Perl Discussion :

Conversion shadowexpire en date


Sujet :

Programmation et administration système Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Par défaut Conversion shadowexpire en date
    Bonjour,

    J'essaye de faire un script qui convertirait le shadow expire en date :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #!/usr/bin/perl
    use warnings;
    use strict;
    use Date::Calc qw(Mktime);
     
    print "Entrez le Shadow expire:\n";
    my $daysSince1970 = <STDIN>; 
    chomp($daysSince1970);
     
    $daysSince1970 = Mktime(my $year, my $month, my $day);
    print "La date d\'expiration est le \: $day\/$month\/$year\n ";
    Apparemment ce n'est pas la bonne manière car j'ai le message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Usage: Date::Calc::Mktime(year, month, day, hour, min, sec) at ./shadow_expire.pl line 12, <STDIN> line 1.
    Merci de votre aide

  2. #2
    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
    au lieu de fournir en paramètre une déclaration de variable (my $year, ...), fourni des valeurs de paramètres...

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Par défaut
    Avec DateTime c'est plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #!/usr/bin/perl
    use warnings;
    use strict;
    use DateTime;
    print "Entrez le Shadow expire:\n";
    my $daysSince1970 = <STDIN>; 
     
     
    my $date = DateTime->new (year => 1970)->add(days => $daysSince1970);
    print "$date\n";

    Mais pour ce shadowexpire 14942 j'obtient le résultat suivant : 2010-11-29T00:00:00

    Comment faire un split pour n'avoir que l'annèe, le mois et le jour dans mon cas ?

    Merci de votre aide

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Par défaut
    Je répond à moi même pour shminblik

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #!/usr/bin/perl
    use warnings;
    use strict;
    use DateTime;
    print "Entrez le Shadowexpire :\n";
    my $daysSince1970 = <STDIN>; 
     
    my $exp_date = DateTime->new (year => 1970, month => 1, day => 1 ) ;
    $exp_date ->add(days => $daysSince1970);
    #Flag
    #print "$exp_date\n";
    (my $year, my $month, my $day ) = split (/-|T/, $exp_date) ;
    print "La date d'expiration est la suivante : $day\/$month\/$year\n";

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Par défaut
    la réponse avec le POSIX sans l'objet DateTime est ici :

    http://www.developpez.net/forums/d10...bjet-datetime/

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

Discussions similaires

  1. [D7][InterBase] conversion automatique de date
    Par Magnus dans le forum Bases de données
    Réponses: 4
    Dernier message: 09/05/2005, 14h58
  2. Réponses: 8
    Dernier message: 05/02/2005, 16h38
  3. [date] conversion d'une date et compatibilité access
    Par WriteLN dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 10/01/2005, 14h03
  4. [CR] pb (concaténation/Conversion/Addition) sur date/heure
    Par marvel dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 20/12/2004, 15h31
  5. conversion String en Date (parse trop permissif)
    Par ciloulou dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 13/09/2004, 18h36

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