PHP date

Résolu
eXo -  
 Utilisateur anonyme -
Bonjour,

J'ai un formulaire qui me retourne une date de début et une date de fin.
Je souhaiterai savoir comment trouvé toute les dates comprise entre ces deux là

Exemple:
début : mercredi 20 janvier 2009
fin : vendredi 22 mai 2009

Pour effectuer le test et trouvé si la date existe dans mon tableau, c'est pas un problème, mais comment testé toute les date comprise entre ceux deux là par exemple ?

Merci beaucoup pour votre aide qui me sera précieuse..

1 réponse

eXo
 
En fait, j'ai déjà vu tout sa, mais je vois pas comment associé sa à une date sous la forme 15 janvier 2009 par exemple, c'est important de pouvoir tester ces valeurs là parce que apres, je recherche l'existence du mots dans un tableau...
0
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135 > eXo
 
Tu fais une petite fonction de conversion, qui te resort à partir de la chaine 15 janvier 2009 le jour, le mois et l'année sous forme numérique...

Pas très compliqué selon la forme de ta date, au pire une petite expression régulière te sortira facilement le bon résultat.
0
Utilisateur anonyme > eXo
 
$debut = mktime(0, 0, 0, 1, 20, 2009); //janvier 20 2009 (notation américaine) 
$fin = mktime(0, 0, 0, 5, 22, 2009); //mai 22 2009 

$i= $debut + 86400; // avance d'un jour, 1 jour = 86400 secondes

echo "Voici les dates entre le ".date("d/m/Y", $debut)." et le ".date("d/m/Y", $fin)."<br/>";
while($i < $fin)
{
	echo date("d/m/Y", $i)."<br/>";
	$i+=86400; // + 1 jour
}


Ensuite pour les variables debut et fin à toi de faire en sorte de reconnaitre que janvier = 1 février=2 ...
0
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135 > eXo
 
Bon une petite piste pour la fonction :
<?php
function my_mktime( $date ) {
  $tmpDate = explode( ' ', $date );
  $jour = $tmpDate[0];
  $mois = strtolower( $tmpDate[1] );
  $annee = $tmpDate[2];
  switch ( $mois ) {
    case 'janvier': $mois=1; break;
    case 'février' : $mois=2; break;
    // etc
  }
  return mktime(0, 0, 0, $mois, $jour, $annee);
}

// Utilisation :
$date = my_mktime( '17 juin 2007' );
?>
Attention, cette fonction ne fait actuellement aucun contrôle sur la validité des données : il faudrait vérifier qu'aprèe le explode on ait bien trois parties, ni plus, ni moins, que le jour et l'année sont numériques et valides, que le mois soit valide...
0
Utilisateur anonyme > pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention  
 
Bah avec nos deux post, on a résolu le problème =)
0