|
|
|
|
Calcul date php
Est il possible de calculer une date de livraison :
On sait qu'il faut 4 jours pour etre livré, hors samedi et dimanches.
Le resultats donnerais :
Date de livraison prévue : le xx/xx/20xx
xx/xx/20xx = date aujourd'hui + 4 jours sauf samedi dimanche
J'ai trouvé des script de calcul de dates en php, ou on peut facilement rajouter 4 jours, mais il compte les week end, et si le client commande samedi, le calcul des 4 jours commence que lundi !
Merci pour votre aide
Configuration: Windows XP Internet Explorer 6.0
Une solution:
|
Precision complementaire:
|
Encore moi
|
Bonjouur!
|
Essayes ça:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>Exercice 6</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <center> <h2>2004-2005 TSIG1B</h2> <?php $tab = file("tsig1b.txt"); ?> <table border = "2px solid black"> <tr> <td>Nom</td> <td>Prénom</td> <td>Date de Naissance</td><td>Age</td> </tr> <?php for ($i = 0; $i < count($tab); $i++){ $ligne = explode(";",$tab[$i]); $array_annee_naiss=explode("/",$ligne[2]);//si annee de naissance sous la forme jj/mm/aaaa $annee_naissance=$array_annee_naiss[2]; $annee_actuelle=date("Y"); //calcul brut si ne en 1988, on est en 2008 age=20 $age=$annee_actuelle-$annee_naissance; echo "<tr>"; for ($j = 0; $j < count($ligne); $j++) { echo "<td>$ligne[$j]</td>"; } echo "<td>".$age." ans </td>"; echo "</tr>"; } ?> </table> </center> </body> </html> |
Dans mon post précédent je t'ai fait le calcul BOURIN de l'age, sans tenir compte de la date anniversaire, alors voici un calcul plus précis.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>Exercice 6</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <center> <h2>2004-2005 TSIG1B</h2> <?php $tab = file("tsig1b.txt"); ?> <table border = "2px solid black"> <tr> <td>Nom</td> <td>Prénom</td> <td>Date de Naissance</td><td>Age</td> </tr> <?php for ($i = 0; $i < count($tab); $i++){ $ligne = explode(";",$tab[$i]); $array_date_naissance=explode("/",$ligne); // si date de naissance sous la forme jj/mm/aaa $jour_naiss=$array_date_naissance[0]; $mois_naiss=$array_date_naissance[1]; $annee_naiss=$array_date_naissance[2]; $jour_actu=date('d'); $mois_actu=date('m'); $an_actu=date('Y'); if($mois_naiss==2 AND $jour_naiss==29 AND date('L')==0 ){ // pour ceux qui sont nés une année bissextile et que l'on est pas une année bissextile // on ramene le jour de naiss à 28 sinon condition $jour_actu >= $jour_naiss ci desoous ne sera jamais remplie $jour_naiss=28; } if($mois_actu >= $mois_naiss AND $jour_actu >= $jour_naiss){ //si la date anniversaire est égale ou dépassée $age=$an_actu-$annee_naiss; }else{ $age=$an_actu - $annee_naiss -1; } echo "<tr>"; for ($j = 0; $j < count($ligne); $j++) { echo "<td>$ligne[$j]</td>"; } echo "<td>".$age." ans </td>"; echo "</tr>"; } ?> </table> </center> </body> </html> |