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 :

timelocal et 31mai2006 -> BUG


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    LFC
    LFC est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 106
    Par défaut timelocal et 31mai2006 -> BUG
    Bonjour,

    J'ai un problème avec cette fonction timelocal et le 31 mai 2006 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    timelocal($seconde, $minute, $heure, $jour, $mois, $annee)
    Si je lance ça me donne : Day '31 02:00:00' out of range 1..30 at 31mai.pl line 12

    Or, ça ne fait que ça avec cette date-là. Le 31 juillet marche par contre...

    Est-ce que c'est un bug de la fonction ??

    Merci.

  2. #2
    Expert confirmé
    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
    Par défaut
    Les mois commencent à 0 avec la fonction timelocal et localtime (héritage du C je crois). Donc probablement ce que tu crois être le 31 mai est le 31 juin (oups...) et ton 31 juillet est un 31 août (mais là pas de problème...).

    --
    Jedaï

  3. #3
    LFC
    LFC est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 106
    Par défaut
    Ok, en fait, ma fonction fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    sub unix_to_TS {
    (my $date, my $heure, my $minute, my $seconde) = @_;
    (my $annee, my $mois, my $jour) = split("-",$date);
    $mois--;
    return (timelocal($seconde, $minute, $heure, $jour, $mois, $annee));
    }
    j'avais mis il fut un temps un $mois-- puisque je savais que ça commençait à compter à zéro mais je l'ai enlevé parce que sinon il me décalait vraiment toutes mes données d'1 mois... Je vais l'ajouter de nouveau pour voir.

    Merci.

  4. #4
    Expert confirmé
    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
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    perl -MTime::Local -e "print timelocal(0, 0, 2, 31, 4, 2006)"
    Chez moi ça marche et :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -MTime::Local -e "print scalar( localtime (timelocal(0, 0, 2, 31, 4, 2006)))"
    imprime :
    Wed May 31 02:00:00 2006

    Je dirais donc que c'est ta fonction qui a un problème (et que tu as besoin d'un "$mois--").

    --
    Jedaï

  5. #5
    LFC
    LFC est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 106
    Par défaut
    Exact, merci.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/03/2003, 16h37
  2. Bug new build ??
    Par rgarnier dans le forum XMLRAD
    Réponses: 4
    Dernier message: 31/01/2003, 10h30

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