Bonjour,

j'ai un bout de code qui me calcule la différence entre 2 dates jour de début et fin inclus. Je l'utilise depuis 8 mois sans problème et là je n'y comprend rien, le 28 mars n'est pas compté suivant sa position début, fin ou milieu de période).

Différence entre 26-03-2011 et 27-03-2011 = 2 jours ce qui est normal
Différence entre 27-03-2011 et 28-03-2011 = 1jours il manque un jour on devrait avoir 2jours
Différence entre 28-03-2011 et 29-03-2011 = 2 jours ce qui est normal
Différence entre 26-03-2011 et 29-03-2011 = 3jours il manque un jour on devrait avoir 4jours

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
$debut_garde='2011-03-27';
$fin_garde='2011-03-28';
 
$debut_garde_ex = explode('-',$debut_garde);	//je recupère le jour, mois et année	
$time_dg = mktime(0, 0, 0, $debut_garde_ex[1], $debut_garde_ex[2], $debut_garde_ex[0]); // passe en secondes debut_garde		
 
$fin_garde_ex = explode('-',$fin_garde);	//récupère le jour, mois et année	
$time_fg = mktime(0, 0, 0, $fin_garde_ex[1], $fin_garde_ex[2], $fin_garde_ex[0]); // passe en secondes fin_garde
 
$ecart = $time_fg - $time_dg+86400; //différence fin_garde - début_garde + un jour
$ecart_jour_garde = floor($ecart/3600/24); // conversion en jours
echo $ecart_jour_garde;

Quelqu'un à une solution ou idée pour ce 28 mars, je suis preneur.

Merci