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 :

Dates relatives à la date courante


Sujet :

Langage Perl

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 62
    Points : 52
    Points
    52
    Par défaut Dates relatives à la date courante
    Existe t'il des choses prédéfinies en perl en terme de module ou autres qui puissent permettre sans avoir à dévelloper pleins de blocs de codes d'avoir la date corespondant à un certain nombre de jours antérieurs ou postérieurs à la date courante ?

    Exemple, nous sommes aujourd'hui le 9/3/2007 et l'on soumet au script "-11" et bien il nous renvoit 26/2/2007 (soit la date d'il y a 11 jours) et à l'inverse si on lui soumet "+5" qu'il nous renvoit 14/3/2007.

    Je parviens à récupérer la date courante de cette façon :

    use DateTime;

    my $Maintenant = DateTime->now();
    my $annee = $Maintenant->year;
    my $mois = $Maintenant->month;
    my $jour = $Maintenant->day;

    merci d'avance de vos pistes diverses et variés.

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Utilise les balises CODE !!
    Par ailleurs tu utilises déjà les objets DateTime (la solution le plus complète et propre pour la gestion des dates en Perl à mon avis), donc tu as déjà ta solution dans la doc du module.
    (Oui ça vaut le coup de lire la doc, ou au moins d'en survoler les titres de temps en temps...)

    --
    Jedaï

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 172
    Points : 208
    Points
    208
    Par défaut
    Salut,

    voir le module Date::Calc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    use Date::Calc qw(Add_Delta_Days);
     
    # $decalage contient le decalage negatif ou positif
    ($a, $m, $j) = Add_Delta_Days($a1, $m1, $j1, $decalage);
    lami20j
    --
    lami20j

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par lami20j
    Salut,

    voir le module Date::Calc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    use Date::Calc qw(Add_Delta_Days);
     
    # $decalage contient le decalage negatif ou positif
    ($a, $m, $j) = Add_Delta_Days($a1, $m1, $j1, $decalage);
    lami20j
    Non, s'il utilise déjà DateTime c'est plus logique de continuer avec DateTime.
    (Date::Calc est bien, mais un peu bordélique honnêtement)

    --
    Jedaï

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 172
    Points : 208
    Points
    208
    Par défaut
    Utiliser DateTime pour récupérer la date de jour c'est un peu trop, quand même.
    La fonction localtime est suffisante.

    lami20j
    --
    lami20j

  6. #6
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par lami20j
    Utilisez DateTime pour récupérer la date de jour c'est un peu trop, quand même.
    La fonction localtime est suffisante.

    lami20j
    Tout à fait d'accord, mais s'il a besoin de faire de l'arithmétique de dates par la suite ça devient tout de suite différent...

    --
    Jedaï

Discussions similaires

  1. [XL-2007] couleur cellule date differente si date passee, ou date du jour
    Par chris09300 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 29/03/2011, 08h24
  2. [DeskI XiR2] Comparaison d'une valeur à une date et à une date relative
    Par courti01 dans le forum Débuter
    Réponses: 1
    Dernier message: 07/11/2010, 21h39
  3. remplir un comboBox avec les dates de la semaine courante et glissante
    Par k6971 dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 25/05/2007, 10h11
  4. date -> réel
    Par Gamal le Celte dans le forum Général Python
    Réponses: 8
    Dernier message: 15/03/2007, 11h22
  5. [VC++2005] Récupérer la date et l'heure courante
    Par laatysha dans le forum VC++ .NET
    Réponses: 2
    Dernier message: 02/03/2007, 16h51

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