Vérifier si deux tranches de dates ont une date en commun

smalldemon Messages postés 2 Date d'inscription vendredi 28 mars 2008 Statut Membre Dernière intervention 12 mars 2012 - 12 mars 2012 à 11:24
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 17 mars 2012 à 13:46
Bonjour, je me heurte actuellement à un petit problème de vérification:
J'ai deux tranches de date (ex : 15/06/2012 au 14/07/2012 & 09/06/2012 au 22/06/2012)
Je ne sais pas trop comment m'y prendre pour vérifier si les deux tranches de date ont au moins une date en commun :/, toute aide bienvenue,
bonne journée,
gigi

3 réponses

smalldemon Messages postés 2 Date d'inscription vendredi 28 mars 2008 Statut Membre Dernière intervention 12 mars 2012
12 mars 2012 à 11:42
Cela c'est avéré plus facile que prévu (je pense que c'est fonctionnel):
function comparerTranchesDates($du1, $au1, $du2, $au2)
{
$verif=0;

$ecart1=ecart($du1, $au1);
$ecart2=ecart($du2, $au2);
$date1=$du1;
$date2=$du2;

For ($i=0;$i<=$ecart1;$i++)
{
For ($i=0;$i<=$ecart2;$i++)
{
if($date1==$date2)
{
$verif=1;
}
$date2=ajoutdate($date2,1);
}
$date1=ajoutdate($date1,1);
}

return $verif;
}


function ecart($date1, $date2)
{
$jour = substr($date1,0,2); // on récupère le jour 
$mois = substr($date1,3,2); // puis le mois 
$annee = substr($date1,6,4);
$timestamp = mktime(0,0,0,$mois,$jour,$annee); 

$jour2 = substr($date2,0,2); // on récupère le jour 
$mois2 = substr($date2,3,2); // puis le mois 
$annee2 = substr($date2,6,4);
$timestamp2 = mktime(0,0,0,$mois2,$jour2,$annee2); 

$ecart_secondes = $timestamp2 -  $timestamp; 
$ecart_jours = floor($ecart_secondes / (60*60*24)); 

return $ecart_jours;
}
0
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
13 mars 2012 à 09:47
Et en PHP5.3 c'est encore plus facile avec les fonctions de date et les opérateurs.
S.
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
17 mars 2012 à 13:46
Il y a plus simple, je crois : avec date2>date1, si date1_fin>date2_debut, alors il y a au moins une date en commun entre les deux périodes.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
Rejoignez-nous