calculer une date avec des variables, je n'y arrive pas

WRInaute impliqué
Bonjour,

Je n'arrive pas a faire ce que je désire et je viens vous demander conseils.

J'ai besoin de présenter 3 menus dérouleurs ( jour, mois , année) et selon ce que la personne choisi et aprés avoir validé en cliquant sur le bouton "résultat", j'ai besoin d'avoir 4 resultatsqui donneraient:
- date choisie + 14 jours ,
- date choisie + 30 jours,
- date choisie + 90 jours,
- date choisie + 180 jours,
- date choisie + 270 jours,
Ces résultats seraient dans des champs. Mais voila, je n'ai que des messages d'erreur et mon code date ne fonctionne pas a cause des select.
quelqu'un connait-il un script qui donne ce type de résultat ou quelqu'un peut-il me guider?

Merci d'avance.
 
WRInaute discret
Tu transformes ta date en Unix timestamp à l'aide de la fonction mktime
Code:
<?php
//date actuelle
echo date("M-d-Y", mktime(0, 0, 0, $_POST["mois"], $_POST["jour"], $_POST["annee"]));

//date + 14 jours
echo date("M-d-Y", mktime(0, 0, 0, $_POST["mois"], $_POST["jour"], $_POST["annee"]) + 14*60*60*24);

//date + 30 jours
echo date("M-d-Y", mktime(0, 0, 0, $_POST["mois"], $_POST["jour"], $_POST["annee"]) + 30*60*60*24);

//etc...
?>

Tu remarqueras qu'il suffit d'ajouter le nombre de secondes pour avoir une date ultérieure, vu que le timestamp unix se calcule en secondes.

ps: c'est magnifique l'Alberta :wink:
 
WRInaute impliqué
Plus simple si tu t'y connais un minimum en anglais :

Code:
$date = date('d/m/Y', strtotime('+1 week')); // Ajoute une semaine
$date = date('d/m/Y', strtotime('+14 days')); // Ajoute 14 jours
$date = date('d/m/Y', strtotime('+200 days')); // Ajoute 200 jours
 
WRInaute impliqué
Salut,

Merci pour vos réponses, je vais essayer la premier car c'est ce qui ressemble le plus à mes essais mais en fait, je n'avais pas les POST, :oops:

Oui c'est beau l'alberta et en plus on creve de chaud depuis 2 jours. 31° hier alors qu'il faisait 12° il y a 3 ou 4 jours. 26° pour aujourd'hui, vivent les T-shirt :lol: :lol:
 
WRInaute impliqué
une autre petite question pour mieux comprendre

//date + 14 jours
echo date("M-d-Y", mktime(0, 0, 0, $_POST["mois"], $_POST["jour"], $_POST["annee"]) + 14*60*60*24);

Si date + 14 jours, je comprends que l'endroit ou se trouve 14 sert à indiquer le nombre de jour mais en revanche, je ne comprends pas les 60 et 24. J'imagine que c'est 60 secondes, 60 minutes, 24 heures

Mais je ne vois pas comment ca pourrait etre utile.

J'imaginerai plutot :
1 pour un an,
52 pour les semaines sur un an ,
365 pour les jours sur un an
puis les minutes
et enfin les secondes.

:?:

Edit: test réussie. Ca marche! merci beaucoup!

Je vais essayer un autre calculateur avec une variable .
Exemple:
X = jours
si x est = -1 le resultat sera de moins 1 pour la date
si X est = + 2 le total des jours sera de + 2 par rapport l'opération de base X
Je mélange les pinceaux mais je me comprends.
J'essaie ,
A+

et encore merci :wink:
 
Discussions similaires
Haut