Oui ! c'est encore moi ! ...
Je suis médiocre de chez médiocre en ce qui concerne les dates ...
Est il possible d'obtenir une date a partir d'une date donnée et un nombre de jours ?
En esperant que vous voyez de quoi je parle !
Merci
Oui ! c'est encore moi ! ...
Je suis médiocre de chez médiocre en ce qui concerne les dates ...
Est il possible d'obtenir une date a partir d'une date donnée et un nombre de jours ?
En esperant que vous voyez de quoi je parle !
Merci
à l'arrache sans tester
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $nbre_jours_increment = 15; $ma_date = '18/02/1981'; $arr_date = explode('/', $ma_date); $time_now = mktime(0, 0, 0, $arr_date[1], $arr_date[0], $arr_date[2]); $time_futur = $time_now + ($nbre_jours_increment * 24 * 3600); $new_date = date("d/m/Y", $time_futur);
Globalement inoffensif
Merci de respecter les règles du forum.
Aucune question technique par MP !
_______________________________________________________________________
Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
Tutoriaux HTML/CSS et PHP
Testée et approuvée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 /************* CALCUL FIN *************/ /** * Calcule le jour de fin à l'aide d'un jour de départ et d'une durée * @param $d_deb Date Date début * @param $duree Int Durée en nombre de jours * @return Date Le jour de fin en format d/m/Y */ function calcul_fin($d_deb, $duree) { list($d,$m,$a) = explode('/',$d_deb); $deb = mktime( 0, 0, 0, $m, $d, $a ); // Durée en secondes*nb de jours $duree *= 3600*24; $fin = $deb+$duree; return date("d/m/Y", $fin); }
C'est pas très propre ces calculs à base de seconde "24 * 3600". Chez moi, on change d'heure fin mars et fin octobre
Pourquoi ne pas utilisez mktime jusqu'au bout ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $nvelle_date = mktime(0, 0, 0, date('m'), date('d') + 5, date('Y')); // ou $date = mktime(0, 0, 0, 5, 6, 2006); $nvelle_date = mktime(0, 0, 0, date('m', $date), date('d', $date) + 5, date('Y', $date))
J'ai la flemme de tester là tout de suite mais si date('d',$date) retourne le 31 du mois et que tu ajoutes +5 le timestamp retourné par mktime va être correct ?
PS: je vois pas le rapport avec le changement d'heure..... on parle de journées complètes ici
Code : Sélectionner tout - Visualiser dans une fenêtre à part mktime(0, 0, 0, date('m', $date), date('d', $date) + 5, date('Y', $date))
Oui c'est le cas, la fonction mktime gère directement les éventuelles erreurs comme cela est expliqué dans la FAQ dans cette Q/R : Comment obtenir la date d'un jour à l'autre ?
Sinon si tu veux avoir quelque chose de plus officiel :
Envoyé par PHP.NET
Avant toutes questions : Développement Web, (X)HTML, CSS, JavaScript, AJAX, ASP, Flash/Flex, Webmarketing, XML, PHP
Je trouvais ma méthode plus jolie mais bon tant pis
Je chipote Si le calcul ne porte que sur des dates (pas d'heure), ça ne posera pas de problèmes.
Mais sur le principe, c'est un peu comme si tu codais une classe, et que au lieu d'utiliser les méthodes pour manipuler (les données de) l'objet, tu modifiais toi même les données de l'objet...
guitou12: si tu n'aimes la syntaxe... modifies juste le code de ta fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function calcul_fin($d_deb, $duree) { list($d,$m,$a) = explode('/',$d_deb); return date('d/m/Y', mktime(0, 0, 0, $m, $d + $duree, $a)); }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager