begin process at 2012 02 11 01:28:22
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date / Heure

 > CONTROLE DE DATE, AVEC SI DATE INCLUSE

CONTROLE DE DATE, AVEC SI DATE INCLUSE


 Information sur la source

Note :
2 / 10 - par 1 personne
2,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Date / Heure Classé sous :date, controle, array Niveau :Débutant Date de création :17/06/2007 Vu :5 391

Auteur : vincseize

Ecrire un message privé
Site perso
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Le code de base n'est pas de moi du tout, mais je n ai plus le nom de la personne instigatrice.
(d'ailleurs si elle se présente, je rendrais à CESAR ce qui appartient à CESAR)

J ai juste rajouté, une ligne simplifiant le fait qu'une date soit incluse entre 2 dates ou non ...

Script extrement pratique, et c'est pour cela que je vous en fait part!

Source

  • <?php
  • /**
  • * function getDatesBetween
  • * renvoie un tableau contenant toutes les dates, jour par jour,
  • * comprises entre les deux dates passées en paramètre.
  • * NB : les dates doivent être au format aaaa-mm-dd (mais on peut changer le parsing)
  • * @param (string) $dStart : date de départ
  • * @param (string) $dEnd : date de fin
  • * @return (array) aDates : tableau des dates si succès
  • * @return (bool) false : si échec
  • */
  • function getDatesBetween ($dStart, $dEnd, $test_date) {
  • $iStart = strtotime ($dStart);
  • $iEnd = strtotime ($dEnd);
  • if (false === $iStart || false === $iEnd) {
  • return false;
  • }
  • $aStart = explode ('-', $dStart);
  • $aEnd = explode ('-', $dEnd);
  • if (count ($aStart) !== 3 || count ($aEnd) !== 3) {
  • return false;
  • }
  • if (false === checkdate ($aStart[1], $aStart[2], $aStart[0]) || false === checkdate ($aEnd[1], $aEnd[2], $aEnd[0]) || $iEnd <= $iStart) {
  • return false;
  • }
  • for ($i = $iStart; $i < $iEnd + 86400; $i = strtotime ('+1 day', $i) ) {
  • $sDateToArr = strftime ('%Y-%m-%d', $i);
  • $sYear = substr ($sDateToArr, 0, 4);
  • $sMonth = substr ($sDateToArr, 5, 2);
  • $aDates[$sYear][$sMonth][] = $sDateToArr;
  • /////////////////////////////////
  • //affiche si date dedans
  • if ($test_date==$sDateToArr){echo "LA DATE EST DEDANS-> ";}
  • ///////////////////////////////////
  • echo $sDateToArr."<br>";
  • /////////////////////////////////////
  • }
  • if (isset ($aDates) && !empty ($aDates)) {
  • //affiche le tableau en array pur
  • return $aDates;
  • } else {
  • return false;
  • }
  • }
  • // les dates
  • $test_date='2007-06-15';
  • $debut='2007-06-10';
  • $fin='2007-06-25';
  • //affichages des resultats
  • $aDates = getDatesBetween ($debut,$fin, $test_date);
  • echo '<pre>', print_r ($aDates), '</pre>';
  • ?>
<?php
/**
* function getDatesBetween
* renvoie un tableau contenant toutes les dates, jour par jour,
* comprises entre les deux dates passées en paramètre.
* NB : les dates doivent être au format aaaa-mm-dd (mais on peut changer le parsing)
* @param (string) $dStart : date de départ
* @param (string) $dEnd : date de fin
* @return (array) aDates : tableau des dates si succès
* @return (bool) false : si échec
*/
function getDatesBetween ($dStart, $dEnd, $test_date) {
    $iStart = strtotime ($dStart);
    $iEnd = strtotime ($dEnd);
    if (false === $iStart || false === $iEnd) {
        return false;
    }
    $aStart = explode ('-', $dStart);
    $aEnd = explode ('-', $dEnd);
    if (count ($aStart) !== 3 || count ($aEnd) !== 3) {
        return false;
    }
    if (false === checkdate ($aStart[1], $aStart[2], $aStart[0]) || false === checkdate ($aEnd[1], $aEnd[2], $aEnd[0]) || $iEnd <= $iStart) {
        return false;
    }
    for ($i = $iStart; $i < $iEnd + 86400; $i = strtotime ('+1 day', $i) ) {
        $sDateToArr = strftime ('%Y-%m-%d', $i);
        $sYear = substr ($sDateToArr, 0, 4);
        $sMonth = substr ($sDateToArr, 5, 2);
        $aDates[$sYear][$sMonth][] = $sDateToArr;
		/////////////////////////////////
		//affiche si date dedans
		if ($test_date==$sDateToArr){echo "LA DATE EST DEDANS-> ";}
		///////////////////////////////////
		echo $sDateToArr."<br>";
		/////////////////////////////////////
    }
    if (isset ($aDates) && !empty ($aDates)) {
		//affiche le tableau en array pur
       return $aDates;
    } else {
        return false;
    }
}
// les dates
$test_date='2007-06-15';
$debut='2007-06-10';
$fin='2007-06-25';
//affichages des resultats
$aDates = getDatesBetween ($debut,$fin, $test_date);
echo '<pre>', print_r ($aDates), '</pre>';
?>



 Sources du même auteur

Source avec Zip AUTHENTIFICATION LDAP | AD 2003SERVEUR

 Sources de la même categorie

Source avec une capture AGENDA GRAPHIQUE SIMPLE (DÉBUTANT) À INTÉGRER par NicomakM
CALCUL DU NOMBRE DE JOURS CONTENUS DANS L'INTERSECTION DE DE... par curphey
CALENDRIER EN 70 LIGNES par tchconst
Source avec Zip CALENDRIER par gabay
CALENDRIER SIMPLE par manuche

 Sources en rapport avec celle ci

CALCUL DU NOMBRE DE JOURS CONTENUS DANS L'INTERSECTION DE DE... par curphey
CALENDRIER SIMPLE par manuche
Source avec Zip VOTRE SIGNE ASTROLOGIQUE par zulrigh
Source avec Zip VOTRE SIGNE ASTROLOGIQUE CHINOIS par zulrigh
PARCOURS DE TABLEAU À L'AIDE D'ATTRIBUTS HTML "NAME par choy

Commentaires et avis

Commentaire de malalam le 21/06/2007 13:29:39 administrateur CS

Hello,

c'est moi, César, en l'occurence...ce script est déjà sur codyx.org, alors bon...ici...

Commentaire de magicdemon00 le 10/03/2011 16:40:29 2/10

Bonjour.

Ce script contient une erreur. Il faut remplacer la ligne 26 par :

for ($i = $iStart; $i <= $iEnd; $i = strtotime ('+1 day', $i) ) {

Il ne faut pas utiliser 86400, c'est une valeur inadéquate car elle ne prend pas en compte les fuseaux horaires.

Commentaire de vincseize le 10/03/2011 17:28:04

Thx monsieur ...
très vieille source en plus, il doit avoir mieux désormais

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

eval () ? [ par Joez ] Bonjour j'ai un gros problemeje genre une ligne de code dans une bouclejusqu'a la tout va bien$textedata="array(".$textedata.");";j'obtiens bien une c Graphique avec jpgraph mais avec des date (2005-06-03), help :D [ par Tortue95 ] Salut a tous :D&nbsp;voila g un souci avec jpgraph voila les array que g une peut pres: $datay = array(10,20,40,0,30,15,65)$datax = array(2005-06-01,2 problème valeur de variable !! [ par fredo35m ] J'ai un soucis pour r&#233;cup&#233;rer les valeurs de variables et l&#224; je ne comprends vraiment pas pourquoi !!!voici&nbsp;une partie du&nbsp;pro tri tableau 2 dimensions [ par lebobby ] Bonjour je voudrais savoir comment je pourrais faire pour trier ce tableau :$tab[0]=array("i"=&gt;"23", "c" =&gt; "rge", "date" =&gt;'2002-08-03 12:00 calendrier annuel, surligné jours en fonction d'une table [ par rouskard ] Bonjour à tous,J'ai un petit problème dans l'élaboration d'un calendrier annuel. J'aimerais pouvoir faire ressortir les jours où une personne a eu un CONTROLE SAISI DATE [ par 007972 ] Bonjour à tous. Je cherche un script capable de contrôler la date par rapport à la date système et qui m'affiche un alerte tant que la date saisie es Array en PHP [ par diotquentin ] Bonjour, j'ai créé un array avec une boucle qui liste les pages vus en récupérant les données de ma bd. Voici le résultat : [i]0H - 1H : 0 page vue [php/MySql] assembler trois variables pour former la date [ par ahmedbj ] Salut je travail sur un formulaire et dans ce formulaire il y a un champ appelé Date Début. Et pour faciliter la saisie de la date au lieu d'utiliser date problème [ par sphynx666 ] &lt;form method= PHP boucle while avec incrémentation dans une balise img [ par allellla ] BonjourJe refait appel à vos lumière !!je vous explique mon problème : J'ai réalisé une galerie, j'ai vérifié avec des print-r, des echos, des var-dum


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales