j'ai une serie de dates dans une base sous la forme jj/mm/yyyy.
j'aimerai les récuperer pour les afficher, mais j'aimerai également afficher
ces dates plus 15 jours.
Comment faire?
Merci.
Exemple:
Depuis le <? echo $date; ?> jusqu'au <? echo $dateplusquinze; ?>
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Philg42360
j'ai une serie de dates dans une base sous la forme jj/mm/yyyy. j'aimerai les récuperer pour les afficher, mais j'aimerai également afficher
ces dates plus 15 jours. Si c'est pour obtenir les dates suite à une requête sql, convertit ton champ
en champ DATE. Les dates des bdd doivent être de la forme yyyy-mm-dd autrement, tu ne pourra pas faire de calcul, ordonnencement dessus. Pour les plages voir les fonction dateadd()... de sql
-- --Philippe Une commune de la Loire : http://panissieres.free.fr Le parc des animaux miniatures http://zoonat.free.fr
j'ai une serie de dates dans une base sous la forme jj/mm/yyyy.
j'aimerai les récuperer pour les afficher, mais j'aimerai également
afficher
ces dates plus 15 jours.
Si c'est pour obtenir les dates suite à une requête sql, convertit ton champ
en champ DATE.
Les dates des bdd doivent être de la forme yyyy-mm-dd autrement, tu ne
pourra pas faire de calcul, ordonnencement dessus.
Pour les plages voir les fonction dateadd()... de sql
--
--Philippe
Une commune de la Loire : http://panissieres.free.fr
Le parc des animaux miniatures http://zoonat.free.fr
j'ai une serie de dates dans une base sous la forme jj/mm/yyyy. j'aimerai les récuperer pour les afficher, mais j'aimerai également afficher
ces dates plus 15 jours. Si c'est pour obtenir les dates suite à une requête sql, convertit ton champ
en champ DATE. Les dates des bdd doivent être de la forme yyyy-mm-dd autrement, tu ne pourra pas faire de calcul, ordonnencement dessus. Pour les plages voir les fonction dateadd()... de sql
-- --Philippe Une commune de la Loire : http://panissieres.free.fr Le parc des animaux miniatures http://zoonat.free.fr
marc guillaume
mrbug wrote:
Bonjour,
j'ai une serie de dates dans une base sous la forme jj/mm/yyyy. j'aimerai les récuperer pour les afficher, mais j'aimerai également afficher ces dates plus 15 jours. Comment faire?
L'idée générale c'est de transformer ta date en texte en timestamp Unix (c'est à dire le nombre de secondes écoulées depuis une date de référence, de mémoire quelque chose comme le premier janvier 1970 à minuit).
Une fois que tu as ce timestamp tu lui ajoutes le nombre de secondes qui correspond à tes 15 jours, c'est à dire 15 x 24 x 60 x 60 soit 15 jours de 24 heures de 60 minutes de 60 secondes ce qui fait 1296000 en données corrigées des variations saisonnières.
Si on appelle $mon_timestamp ce timestamp augmenté tu l'affiches en date : $ma_date_plus_quinze_joursÚte("d/m/Y",$mon_timestamp);
La seule difficulté dans ton affaire c'est que la fonction strtotime qui fait ce que tu cherches, c'est à dire convertir une date littérale en timestamp ne fonctionne qu'avec des dates au format anglosaxon (le mois puis le jour et l'année).
Donc il faut que tu l'émules pour le format français. Si tu es certain que tu as toujours un / comme séparateur tu peux utiliser la fonction explode et récupérer le jour, le mois et l'année dans un tableau. si ta date littérale est $date :
Le mieux est de mettre cette petite cuisine dans une fonction dateToStamp ou tout autre joli nom évocateur et tu peux ajouter un raffinement qui est de passer le nombre de jour à ajouter en argument et éventuellement un séparateur si c'est autre chose que "/" (mais en mettant / par défaut, ce qui t'évite de saisir cet argument si c'est bien des /) ce qui donnerait :
$ma_nouvelle_dateÚteToStamp($date_depart,15); ou $ma_nouvelle_dateÚteToStamp($date_depart,15,"-"); si ton séparateur est un tiret.
Voili voilou
A+
mrbug wrote:
Bonjour,
j'ai une serie de dates dans une base sous la forme jj/mm/yyyy.
j'aimerai les récuperer pour les afficher, mais j'aimerai également
afficher ces dates plus 15 jours.
Comment faire?
L'idée générale c'est de transformer ta date en texte en timestamp Unix
(c'est à dire le nombre de secondes écoulées depuis une date de référence,
de mémoire quelque chose comme le premier janvier 1970 à minuit).
Une fois que tu as ce timestamp tu lui ajoutes le nombre de secondes qui
correspond à tes 15 jours, c'est à dire 15 x 24 x 60 x 60 soit 15 jours de
24 heures de 60 minutes de 60 secondes ce qui fait 1296000 en données
corrigées des variations saisonnières.
Si on appelle $mon_timestamp ce timestamp augmenté tu l'affiches en date :
$ma_date_plus_quinze_joursÚte("d/m/Y",$mon_timestamp);
La seule difficulté dans ton affaire c'est que la fonction strtotime qui
fait ce que tu cherches, c'est à dire convertir une date littérale en
timestamp ne fonctionne qu'avec des dates au format anglosaxon (le mois
puis le jour et l'année).
Donc il faut que tu l'émules pour le format français. Si tu es certain que
tu as toujours un / comme séparateur tu peux utiliser la fonction explode
et récupérer le jour, le mois et l'année dans un tableau.
si ta date littérale est $date :
Le mieux est de mettre cette petite cuisine dans une fonction dateToStamp ou
tout autre joli nom évocateur et tu peux ajouter un raffinement qui est de
passer le nombre de jour à ajouter en argument et éventuellement un
séparateur si c'est autre chose que "/" (mais en mettant / par défaut, ce
qui t'évite de saisir cet argument si c'est bien des /) ce qui donnerait :
j'ai une serie de dates dans une base sous la forme jj/mm/yyyy. j'aimerai les récuperer pour les afficher, mais j'aimerai également afficher ces dates plus 15 jours. Comment faire?
L'idée générale c'est de transformer ta date en texte en timestamp Unix (c'est à dire le nombre de secondes écoulées depuis une date de référence, de mémoire quelque chose comme le premier janvier 1970 à minuit).
Une fois que tu as ce timestamp tu lui ajoutes le nombre de secondes qui correspond à tes 15 jours, c'est à dire 15 x 24 x 60 x 60 soit 15 jours de 24 heures de 60 minutes de 60 secondes ce qui fait 1296000 en données corrigées des variations saisonnières.
Si on appelle $mon_timestamp ce timestamp augmenté tu l'affiches en date : $ma_date_plus_quinze_joursÚte("d/m/Y",$mon_timestamp);
La seule difficulté dans ton affaire c'est que la fonction strtotime qui fait ce que tu cherches, c'est à dire convertir une date littérale en timestamp ne fonctionne qu'avec des dates au format anglosaxon (le mois puis le jour et l'année).
Donc il faut que tu l'émules pour le format français. Si tu es certain que tu as toujours un / comme séparateur tu peux utiliser la fonction explode et récupérer le jour, le mois et l'année dans un tableau. si ta date littérale est $date :
Le mieux est de mettre cette petite cuisine dans une fonction dateToStamp ou tout autre joli nom évocateur et tu peux ajouter un raffinement qui est de passer le nombre de jour à ajouter en argument et éventuellement un séparateur si c'est autre chose que "/" (mais en mettant / par défaut, ce qui t'évite de saisir cet argument si c'est bien des /) ce qui donnerait :
$ma_nouvelle_dateÚteToStamp($date_depart,15); ou $ma_nouvelle_dateÚteToStamp($date_depart,15,"-"); si ton séparateur est un tiret.
Voili voilou
A+
Thibaut Allender
"dominique" wrote in message news:bjmg9n$aqe$
$res = strftime('%d/%m/%Y', $ts+86400*15);
c'est une tres mauvaise idee de considerer 15 jours comme 86400 sec * 15 en effet, lors des passages a l'heure d'ete et d'hiver, les jours font alors 23 ou 25 heures, et on se retrouve alors avec un jour d'avance ou de retard
il est bcp plus prudent d'utiliser mktime(0,0,0,$m,$j+15,$a), car mktime prend en consideration ces changements d'heure
a+
-- + thibaut allender // web design + php dev + digital photo + http://www.capsule.org
"dominique" <zdoum@nerim.net> wrote in message
news:bjmg9n$aqe$1@biggoron.nerim.net...
$res = strftime('%d/%m/%Y', $ts+86400*15);
c'est une tres mauvaise idee de considerer 15 jours comme 86400 sec * 15
en effet, lors des passages a l'heure d'ete et d'hiver, les jours font alors
23 ou 25 heures, et on se retrouve alors avec un jour d'avance ou de retard
il est bcp plus prudent d'utiliser mktime(0,0,0,$m,$j+15,$a), car mktime
prend en consideration ces changements d'heure
a+
--
+ thibaut allender // web design + php dev + digital photo
+ http://www.capsule.org
c'est une tres mauvaise idee de considerer 15 jours comme 86400 sec * 15 en effet, lors des passages a l'heure d'ete et d'hiver, les jours font alors 23 ou 25 heures, et on se retrouve alors avec un jour d'avance ou de retard
il est bcp plus prudent d'utiliser mktime(0,0,0,$m,$j+15,$a), car mktime prend en consideration ces changements d'heure
a+
-- + thibaut allender // web design + php dev + digital photo + http://www.capsule.org