Calculer l' echeance d' un abonnement

Le
gerardsud
Bonjour,
Ca parait tout simple, pourtant je bute sur le calcul de l' echeance d' une date echeance d' abonnement (1 mois ou 1 an). C' est le premier site que je crée en php et j' ai du mal avec les dates.
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #19060551
Le 05/04/2009 23:00, gerardsud a écrit :

Ca parait tout simple, pourtant je bute sur le calcul de l' echeance d'
une date echeance d' abonnement (1 mois ou 1 an). C' est le premier site que je
crée en php et j' ai du mal avec les dates.



Si tu es en PHP 5 >= 5.3.0 et que tu ne crains pas d'utiliser une
fonction qui pourrait peut-être changer avec un changement de version :
http://fr3.php.net/manual/fr/datetime.add.php
-> date_add($date, "P1M") pour ajouter un mois
-> date_add($date, "P1Y") pour ajouter un an

Sinon, voir les fonctions de gestion de date et heure :
http://fr3.php.net/manual/fr/book.datetime.php

Ou les fonctions de gestion de calendrier :
http://fr3.php.net/manual/fr/book.calendar.php
gerardsud
Le #19070131
Olivier Miakinen a écrit le 05/04/2009 à 23h34 :
Le 05/04/2009 23:00, gerardsud a écrit :

Ca parait tout simple, pourtant je bute sur le calcul de l' echeance d'
une date echeance d' abonnement (1 mois ou 1 an). C' est le premier site que
je
crée en php et j' ai du mal avec les dates.




Si tu es en PHP 5 >= 5.3.0 et que tu ne crains pas d'utiliser une
fonction qui pourrait peut-être changer avec un changement de version :
http://fr3.php.net/manual/fr/datetime.add.php
-> date_add($date, "P1M") pour ajouter un mois
-> date_add($date, "P1Y") pour ajouter un an

Sinon, voir les fonctions de gestion de date et heure :
http://fr3.php.net/manual/fr/book.datetime.php

Ou les fonctions de gestion de calendrier :
http://fr3.php.net/manual/fr/book.calendar.php


Merci Olivier,
Meme si j' ai encore du batailler pour comprendre, les infos contenu sur le site ' http://fr3.php.net/manual/fr ' sont précieuses.
Si ça peut aider quelqu' un je vous livre le bout de script qui m' a donné du mal :

$echeanceÚte('Y,m,d', (mktime(0, 0, 0, date('m')+$abonnement, date('d'), date('Y'))));

- $echeance etant l' echeance de l' abonnement bien sur,
- $abonnement contient la durée choisie par l' adherant.
Maintenant ça fonctionne !
John GALLET
Le #19108361
Bonjour,

Ca parait tout simple, pourtant je bute sur le calcul de l' echeance d'
une date echeance d' abonnement (1 mois ou 1 an). C' est le premier site que je
crée en php et j' ai du mal avec les dates.



Personnellement je te conseille de ne pas t'em****der avec des calculs
de date en autre chose qu'en SQL à chaque fois que tu le peux.

Par exemple sous mysql:

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html

UPDATE matable SET expiration = DATE_ADD(debut_abonnement, INTERVAL 1
MONTH);

Ca peut évidemment se faire directement dans l'insert.

Il y a deux choses totalement insupportables dans tous les langages
"usuels" de programmation: l'arithmétique des dates/heures et le manque
total d'uniformisation des formats ou noms de fonctions.

a++;
JG
Publicité
Poster une réponse
Anonyme