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 :

Comparer Date avec intervalle


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Points : 713
    Points
    713
    Par défaut Comparer Date avec intervalle
    Bonjour

    Je suis bloqué sur une étape dans mon calendrier de réservation,
    Comment je pourrais comparer ma date actuelle ou autre avec un intervalle de date ne comportant que le début et la fin (exemple debut 20/05/2012 et fin 28/07/2012)? Hors je n'ai pas les dates comprises entre le début et la fin
    Je suis bien conscient qu'il faudra que je passe par la suite les dates au formats numériques.
    Mais pour l'instant je suis bloqué... Si quelqu'un à une piste?

    Je vous remercie

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 235
    Points
    20 235
    Par défaut
    Je sais pas si c'est exactement ce que tu cherches et si tu veux le faire directement depuis ton SGBD mais voici une solution pour comparer 2 intervalles de date ,ce qui peux correspondre à la problématique de la réservation

  3. #3
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Points : 713
    Points
    713
    Par défaut
    Bonjour grunk et merci de ta réponse.
    Pour commencé je ne vais pas travailler de suite avec la BDD, je vais seulement définir les hautes saisons, moyennes saisons et basses saison en définissant une couleur pour chaque cellules :
    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
    19
            $month_chiffr = date('n',$date);
    	$day_num = 1;
    	while($day_num <= $day_of_month){
    		switch(color_cell($day_num, $month_chiffr)){
    			case 1: echo"<td id=\"TabCorpsColorReserve\"> $day_num </td>"; break; //Background rouge
    			case 2: echo"<td id=\"TabCorpsColorBS\"> $day_num </td>"; break; //Background vert
    			case 3: echo"<td id=\"TabCorpsColorMS\"> $day_num </td>"; break; //Background jaune
    			case 4: echo"<td id=\"TabCorpsColorHS\"> $day_num </td>"; break; //Background violet
    		}
    		echo"<td id=\"TabCorpsColorDispo\"> $day_num </td>";
    		$day_num++;
    		$day_count++;
     
    		if($day_count>7)
    		{
    			echo"</tr><tr>";
    			$day_count = 1;
    		}
    	}
    Cette partie permettra de créer mon tableau, un switch permettra de définir la couleur des cellules via la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function color_cell($day_num, $month_chiffr){
    		$HSDebJour = 23;
    		$HSDebMoi = 6;
    		$HSFinJour = 1;
    		$HSFinMoi = 9;
     
                    $MSDebJour1....
    Elle retournera dans quel intervalle se trouve ma date en argument et retournera la valeur correspondante à une couleur.
    C'est donc ici ou je bloque, j'ai pensé à commencer à rechercher le mois puis le jour mais je bloque et je ne vois pas comment procédé..

    Si quelqu'un à une idée. Merci

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 235
    Points
    20 235
    Par défaut
    C'est en fait la même problématique que le lien que je t'ai fourni.

    pour par exemple définir si une date est comprise dans un intervalle (une periode) tu peux faire comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $haute = array(
    	'start'=> new DateTime('2012-06-01'),
    	'end'=> new DateTime('2012-08-31')
    );
     
    $today = new DateTime();
     
    if($haute['start'] <= $today && $haute['end'] >= $today)
     echo 'dans la periode';
    else
     echo 'hors periode';
    Tu peux donc simplement faire une fonction qui défini les 3 périodes et qui retourne dans laquelle la date passée en paramètre est contenue

  5. #5
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Points : 713
    Points
    713
    Par défaut
    Merci grunk, je vais mettre cette étape en exécution
    (je viendrais confirmé du bon fonctionnement )

    Edit: Parfait tout fonctionne correctement, Merci encore!!

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

Discussions similaires

  1. Comparer Date avec variable mois et année
    Par Brialex dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/11/2014, 17h52
  2. Comparer date avec VBA
    Par Radaghast dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/07/2012, 21h50
  3. Comment comparer des dates avec la procédure assertEquals de JUNIT ?
    Par andrianiaina dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 25/01/2007, 18h31
  4. 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