Les Snippets

Connexion

Obtenir toutes les dates valides comprises entre 2 dates

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 20/04/2006 16:22:58 et initié par malalam [Liste]
Date de mise à jour : 28/09/2006 11:47:02
Vue : 9768
Catégorie(s) : Date & Heure, Algorithme
Langages dispo pour ce code :
- PHP 3, PHP 4, PHP 5
- VB6
- Windev
- Voir tous les langages pour ce code snippet



Langage : PHP 3 , PHP 4 , PHP 5
Date ajout : 20/04/2006
Posté par malalam [Liste]
DateMAJ : 28/09/2006
<?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) {
    $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;
    }
    if (isset ($aDates) && !empty ($aDates)) {
        return $aDates;
    } else {
        return false;
    }
}

$aDates = getDatesBetween ('2006-09-01', '2006-10-31');
echo '<pre>', print_r ($aDates), '</pre>';
?>

Snippets en rapport avec : Tableau, Dates, Validité, Différence, Range



Codes sources en rapport avec : Tableau, Dates, Validité, Différence, Range

{Visual Basic, VB6, VB.NET, VB 2005} COMPRESSION
Fonction pour comprimer un tableau de byte...

{Visual Basic, VB6, VB.NET, VB 2005} DIFFÉRENCE ENTRE DEUX HEURES DE FORMAT HH:MM:SS
Renvoie une valeur si le temps 1 est inferieur (0), égale (1) ou supérieur (2) au temps 2 ...

{Visual Basic, VB6, VB.NET, VB 2005} TABLEAU INITIALISE
Je cherche une fonction me permettant de savoir si mes tableaux dynamiques [ ex: dim Tableau() as st...

{Visual Basic, VB6, VB.NET, VB 2005} GESTION DYNAMIQUE DES ITEMS - BIEN PLUS INTERESSANT QUE LES TABLEAUX DYNAMIQUES
Tout le monde a recours dans la programmation à des tableaux dynamiques, besoin de validation de val...

{Delphi} COMPRENDRE UN PEU PLUS LES TABLEAUX EN RXRICHEDIT
Ce petit programme me sert d'appui pour comprendre étudier tout ce que je peut faire avec un tableau...

{Delphi} STRINGGRID EXTENDED
Tableau 'StringGrid' élaboré contenant des fonctions étendues copier/coller/effacer, des fonctions d...

{PHP} FICHIER XML => TABLEAU ASSOCIATIF
Tous petit bout de code qui lit un fichier .xml et qui le stock dans un tableau de tableau associati...

{PHP} LABYRINTHES EN PHP (GD + HTML) GÉNÉRATION + RÉSOLUTION
Voici une classe qui génère et résout des labyrinthes en php le résultat peut être afficher en image...

{PHP} EQUIVALENT DE INNERHTML JAVASCRIPT, MAIS GLOBAL
Cette fonction renvoie un tableau du contenu de toutes les occurrences d'une balise, HTML ou non, de...

{Visual Basic, VB6, VB.NET, VB 2005} TABLEAU PERIDOQUES
Bonjour voici un tableau périodiques des éléments de Mendeleiv. Comme votre livre de 2nde. Crée pa...