Date format (int) echeance

[Résolu]
Signaler
Messages postés
88
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
13 août 2011
-
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
-
Bonjour,
j'essais desesperement de trouver une solution à un probleme.
j'ai 3 champs dans ma base de donnée en INT
Jour = int
Mois = int
An = int

nous sommes le 04/11/2005 soit

Jour = 04
Mois = 11
An = 2005

j'ai une écheance par exemple de 24 mois soit 2 ans comme cela pourrait être 15 mois
et je souhaiterai qu'il puisse s'afficher sur l'ecran
échéance = 04/11/2007 automatiquement. J'ai essayé des calculs inutiles bref je me suis perdu.

3 réponses

Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
9
"ou la la quelle horreur ..."



Mais... ne panique pas !



c'est pourtant si simple :



$j = 4;

$m = 11;

$a=2005;



$T = mktime(0, 0, 0, $m+15, $j+14, $a);



$J = strftime('%d', $T);

$M = strftime('%m', $T);

$A = strftime('%y', $T);



echo "$J/$M/$Y"; // affiche aujourd'hui plus 15 mois et 14 jours





C'est-y pas facile ??? ALORS !!!
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
9
oh oui, il ne faut pas jouer à ça tout seul... C'est imbitable !



Année bissexctile, mois de 30,31,28/29 jours... Bref la galère.





HEUREUSEMENT des fonctions PHP permettent de jouer facilement avec les dates :

time();

mktime();

strftime(); // avec setlocale();



Ces trois fonctions permettent de quasiment tout faire :)



A+



PS : je te laisse aller voir sur PHP: Hypertext Preprocessor et taper le nom des fonctions dans le champ de recherche
Messages postés
88
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
13 août 2011

ou la la quelle horreur ....
avec des int en plus je ne sais pas si des jeux sur time() peuvent se faire... :(
ni aurrait il pas plus simple ?
à la rigueur de ramener tout ce qui dépasse du 28 à une echeance 28 pour éviter les années bissextiles.
Je penssais à un truc comme un While mais comment mi prendre ca ....