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 PHP Discussion :

Mktime comparer dates [PHP 5.1]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Par défaut Mktime comparer dates
    Bonjour,

    Seriez-vous me dire pourquoi ce bout de code s'obstine à me trouver une égalité sur 2 dates différentes ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php 
    $date1 = '12/10/2009';
    $date2 = '2009-10-20';
     
    $array_date = explode("/",$date1);
    $date_us = $array_date[2]."-".$array_date[1]."-".$array_date[0]; //année-mois-jour 
     
    		echo 'd1 : '.$date_us; echo '<br>';
    		echo 'd2 : '.$date2; echo '<br><br>';
    		echo 'd1 : '.$date_livraison = mktime($date_us); echo '<br>';
    		echo 'd2 : '.$date_choisi = mktime($date2); echo '<br>';
     
    		if($date_livraison == $date_choisi) { echo 'egal'; } else { echo 'pas egal'; }		
    ?>

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 68
    Par défaut
    mktime ne s'utilise pas comme ça....

    Je te renvois au manuel php pour son utilisation:
    http://php.net/manual/fr/function.mktime.php

    Sinon plus simple pour toi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $date = new DateTime($date_us);
    $date2 = new DateTime($date2);
     
    if ($date->format('U') == $date2->format('U'))
    {
           echo "egal";
    }

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Effectivement, mktime ne prend une chaine de caractères en paramètres...
    int mktime ([ int $hour= date("H") [, int $minute= date("i") [, int $second= date("s") [, int $month= date("n") [, int $day= date("j") [, int $year= date("Y") [, int $is_dst= -1 ]]]]]]] )

    mktime() retourne un timestamp UNIX correspondant aux arguments fournis. Ce timestamp est un entier long, contenant le nombre de secondes entre le début de l'époque UNIX (1er Janvier 1970 00:00:00 GMT) et le temps spécifié.

    Les arguments peuvent être omis, de droite à gauche, et tous les arguments manquants sont utilisés avec la valeur courante de l'heure et du jour.
    Donc, mktime convertit '2009-10-20' en un nombre, ce qui donne 2009, et considère qu'il s'agit du nombre d'heures. Donc tu te retrouves avec tes deux dates valant aujourd'hui à 2009h (ce qui donne à peu près aujourd'hui + un peu mois de 3 mois)
    mktime
    conversion des chaines en nombres

    La fonction que tu cherches est probablement strtotime
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre éclairé Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Par défaut
    Merci à tous pour votre aide

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/04/2007, 11h34
  2. [Comparer][Date] : récupérer la différence
    Par Darkroro dans le forum Modules
    Réponses: 2
    Dernier message: 30/10/2006, 09h52
  3. comparer date dans requete
    Par lazzeroni dans le forum Oracle
    Réponses: 1
    Dernier message: 23/05/2006, 15h55
  4. [Dates] Conversion de date (type mktime en date normale)
    Par jeff&&php dans le forum Langage
    Réponses: 6
    Dernier message: 17/05/2006, 15h27
  5. Réponses: 4
    Dernier message: 24/08/2004, 13h54

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