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 : 9769
Catégorie(s) : Date & Heure, Algorithme
Langages dispo pour ce code :
- PHP 3, PHP 4, PHP 5
- VB6
- Windev



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>';
?>
Langage : VB6
Date ajout : 21/04/2006
Posté par Gobillot [Liste]

 '// renvoie un tableau() de type Date
 Private Function getDatesBetween(dStart As Date, dEnd As Date) As Date()
     Dim i As Integer
     Dim d As Date
     If dStart > dEnd Then Exit Function
     ReDim Dates(Int(dEnd - dStart)) As Date
     For d = dStart To dEnd
         Dates(i) = d
         i = i + 1
         Next
     getDatesBetween = Dates
 End Function
 
 
 '// UTILISATION:
     Dim i   As Integer
     Dim dt1 As Date
     Dim dt2 As Date
     Dim d() As Date
 
     dt1 = "01/01/2006"
     dt2 = "30/03/2006"
     d = getDatesBetween(dt1, dt2)
     
 '// CONTROLE dans une ListBox:
     If Not (Not d) Then
        List1.Clear
        For i = 0 To UBound(d)
            List1.AddItem d(i)
            Next i
        Else
        List1.Clear
        End If
 
 
Langage : Windev
Date ajout : 05/05/2006
Posté par BURLOTJ [Liste]

FONCTION iListeDateEntreDate(LOCAL sDateDebut,LOCAL sDateFin, tDate)
iInd est un entier

iDebut est un entier
iFin est un entier
iNbreDate est un entier = 0

iNbreDate=0
SI DateValide(sDateDebut) ET DateValide(sDateFin) ALORS

   iDebut = DateVersEntier(sDateDebut)
   iFin = DateVersEntier(sDateFin)
   POUR iInd=iDebut+1 A iFin-1
       TableauAjoute(tDate, EntierVersDate(iInd)
       iNbreDate++

   FIN

FIN
RENVOYER iNbreDate
 
//Utilisation
tDate est un Tableau de 0 chaînes
iTotal est un entier = 0
sDate1, sDate2 sont des chaînes
sDate1="20071231"
sDate2="20080301"
iTotal=iListeDateEntreDate(sDate1, sDate2, tDate)



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...