Ajouter des jours à une date en PHP ? - PHP - Programmation
Marsh Posté le 07-08-2004 à 12:07:32
Je n'ai pas compris la question ! Peux tu détailler ?
Marsh Posté le 07-08-2004 à 12:10:21
merci pour ta volonté de m'aider !
Je veux prendre une date et ajouter x jours à cette date.
Existe t il une fonction native à PHP ou faut il l'a créer ?
Marsh Posté le 07-08-2004 à 12:10:43
Peu importe le format je peux faire dans tous les formats (UK & Fr)
Marsh Posté le 07-08-2004 à 12:14:29
Ben
$moi = substr(0,2,$date)
$jour = substr(3,2,$date)
$annee = sustr(4,4,$date)
la tu selectionne le jour
settype($jour,"int" )
$jour = $jour + 2;
$date = $moi.$jour.$annee
ça devrai passer ...
mais le mieux est d'utiliser le nombre de seconde qui te separe de l'epoque UNIX : le date("U" ) et a ce chiffre qui est un entier tu lui ajoute 60*60*60*24 pour un jour et tu applique de chiffre a la fontion date pour avoir le mois, le jour, l'annee du moment.
c'est plus pratique je trouve
Marsh Posté le 07-08-2004 à 12:18:16
pour passer d'une date texte (en anglais) au timestamp => strtodate()
Je te conseille un peiti tour ici, il y a 14 fonctions natives à PHP pour faire à peu près tout ce que tu veux
Marsh Posté le 07-08-2004 à 12:22:18
Merci pour votre aide
T509 je ne vois pas de fonction permettant d'additioner des jours
Marsh Posté le 07-08-2004 à 12:37:39
Comme rainbow_efreet te l'a dit, il faut travailler sur les timestamp. Tu travailles sur un nombre de secondes et tu ajoutes ou tu retranches ce que tu veux.
Les fonctions du lien que je t'ai donné, te permettent de passer de la date au timestamp et vice versa
Marsh Posté le 07-08-2004 à 13:05:42
ok merci encore
Marsh Posté le 07-08-2004 à 14:44:36
par contre dans la méthode à rainbow_efreet si je suis en fin de mois et que j'additionne ça va pas le faire ?
Marsh Posté le 07-08-2004 à 14:46:14
ya pas un truc comme Date::Calc en perl?
ou sinon tu transforme en timestamp, tu additionnes les secondes, tu refou en date
Marsh Posté le 07-08-2004 à 14:50:49
Si cela va fonctionner. la fonction date() te retrouve le jour qui correspond au timestamp.
exple en français
aujourd'hui = 31/12/2004 23:56
je veux la date dans une heure
dans_1_heure = mktime(aujourd'hui) + 3600
date (dans_1_heure) => 01/01/2005 00:56
essaie, tu verras
Marsh Posté le 07-08-2004 à 15:06:15
ah super merci
Marsh Posté le 08-08-2004 à 09:30:58
$date = "08-08-2004";
//décomposition de la date pour mieu comprendre
$jour = "08";
$mois = "08";
$anne = "2004";
//Je veux que $date = 10-08-2004
$mkdate = mktime(0, 0, 0, $mois, $jour+2, $anne)
$date = strftime("%d-%m-%Y", $mkdate);
echo $date;
//affiche : '10-08-2004'
Marsh Posté le 08-08-2004 à 09:31:33
ReplyMarsh Posté le 08-08-2004 à 12:44:35
Merci pour ta contribution à propos de la question.
Par contre ton post suivant etait à éviter car in n'apporte rien dans ce cas ci. C'est un beau Spam.
Marsh Posté le 08-08-2004 à 17:49:32
Ta signature, tu la mets dans ton profil puis tu coches la case "Afficher votre signature" quand tu postes
Mais la poster comme ça dans le message ça ne se fait pas, et encore moins de ne faire un message que pour ça.
Marsh Posté le 08-08-2004 à 20:27:46
Je profites (un peu) du sujet, mais pourquoi préfèrez vous systématiquement des calculs genre
Code :
|
à l'utilisation de strtotime ?
Marsh Posté le 07-08-2004 à 11:58:03
Existe t il une fonction native ou faut il l'a créer ?
Merci
---------------
"I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it" B. Gates