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 :

Comparaisons de date avec "strtotime"


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2008
    Messages : 112
    Points : 48
    Points
    48
    Par défaut Comparaisons de date avec "strtotime"
    Bonjour,

    J'aimerais comparer des dates et les afficher en rouge si elles arrivent à échéance dans X jours en fonction d'une autre variable $job.

    Je ne sais pas pourquoi mais le code ci-dessous m'affiche en rouge une date (10.01.2014 ou le 19.12.103 alors que ce n'est pas dans 5 ou 10 jours...)

    D'avance emrci pour votre aide !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function test_date($ma_date,$job){
     $aff="";
     
     //TESTER $ma_date (FORMAT Y-m-d) ET AFFICHER EN ROUGE EN FONCTION DU TYPE DE JOB SI ELLE ARRIVE A ÉCHÉANCE DANS 5 ou 10 JOURS
     
     if    ($job==1 && ($ma_date>=date("Y-m-d H:i:s",strtotime("+5 days"))))
     	$aff.='<span style="color:#F00">'.$ma_date.'</span>';
     elseif($job==2 && ($ma_date>=date("Y-m-d H:i:s",strtotime("+10 days"))))
      	$aff.='<span style="color:#F00">'.$ma_date.'</span>';
     else
      	$aff.='<span>'.$ma_date.'</span>';
     
    return $aff;
    }

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu compares 10.01.2014 avec 2014-12-06 tu vas effectivement avoir des résultats bizarres.

    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
    16
    17
    18
    function test_date($ma_date,$job) {
     
    	$obj_madate = date_create_from_format('d.m.Y', $ma_date);
     
    	if ($job == 1 && $obj_madate >= date_create('+ 5 days')) {
    		$color = 'red';
    	}
    	elseif ($job == 2 && $obj_madate >= date_create('+ 10 days')) {
    		$color = 'red';
    	}
    	else {
    		$color = 'black';
    	}
     
    	$aff = '<span style="color:' . $color . '">'.$ma_date.'</span>';
     
    	return $aff;
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2008
    Messages : 112
    Points : 48
    Points
    48
    Par défaut
    hello Sabotage,

    Merci pour la réponse.

    J'ai oublié de préciser que toutes mes dates sont au format 2013-12-06

    J'aurais pas du écrire : 10.01.2014 ou 19.12.103 dans mon message qui du coup portait à confusion...

    j'ai une fonction getdateSQL qui me renvoie au format 10.01.2014 la date.

    Donc voici :

    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
    function test_date($ma_date,$job) {
     
     
     
    	if	($job==1 && $ma_date >=date_create('+ 5 days'))
    		$color = '#F00';
    	elseif ($job==2 && $ma_date >=date_create('+ 10 days'))
    		$color = '#F00';
    	else
    		$color = '#000';
     
    	$aff = '<span style="color:' . $color . '">'.getdateSQL($ma_date).'</span>';
     
    	return $aff;
    }

    Malheureusement même ainsi j'ai toutes mes dates en noir...

Discussions similaires

  1. Comparaison de dates avec to_char()
    Par killer Am dans le forum PL/SQL
    Réponses: 8
    Dernier message: 10/12/2008, 18h00
  2. comparaison 2 dates avec tag struts
    Par mystro7200 dans le forum Struts 1
    Réponses: 13
    Dernier message: 21/11/2008, 16h12

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