Je l'ai fait et il besoin d'aide peaufinage pour qu'il donne le résultat correcttrouver la différence entre 2 dates
function daysDifference($end){
//$start = "2007-03-24";
//$end = "2009-06-26";
$now = date("Y-m-d");
$e = (is_string($end) ? strtotime($end) : $end);
$diff = abs($e - strtotime($now));
$years = floor($diff/(365 * 60 * 60 * 24));
$months = floor(($diff - $years * 365 * 60 * 60 * 24)/(30 * 60 * 60 * 24));
$days = floor(($diff - $years * 365 * 60 * 60 * 24 - $months * 30 * 60 * 60 * 24)/ (60 * 60 *24));
return ($years == 0 ? '' : ($years == 1 ? $years . ' year ' : $years . ' years ')) . ($months == 0 ? '' : ($months == 1 ? $months . ' month ' : $months . ' months ')) . ($days == 0 ? '' : ($days == 1 ? $days . ' day ' : $days . ' days '));
}
$end
est tiré de ma base de données donc il y a des contrôles pour voir si sa chaîne ou une date déjà.
$e
peut maintenant être utilisé, mais quand j'ai essayé de soustraire $now
de $e
I obtenir des résultats drôles
par exemple:
$now
étant aujourd'hui le 13th
et $e
étant une date de fin pour un projet, il est suppose de me donner ce dont j'ai besoin ... non?
Où je suis supposé obtenir dire 12 jours restants, je reçois 1 an 12 jours.
et où $e = 0000-00-00
(dans le cas où l'utilisateur n'a pas entré de date de fin), je reçois 40 ans 10 mois et 26 jours restants.
J'ai essayé beaucoup de variations différentes à mes calculs mais je continue à obtenir nulle part.
mes compétences en php sont modérées, réinventer la roue vient avec ce lol. date_diff hmmm. Je vais regarder de plus près! Merci – Eli
@ s2xi à chaque fois que vous avez envie de faire une fonction générique, regardez d'abord sur php.net, vous pourriez être surpris! –