dernier jour du mois / nombre de jours dans le mois - Delphi/Pascal - Programmation
Marsh Posté le 11-12-2007 à 11:54:56
Je sais qu'il est possible de le faire par calcul en décomposant la date, en ajoutant un mois puis en retirant un jour, mais je cherche une fonction qui fait ça toute seule.
Marsh Posté le 12-12-2007 à 14:55:09
Y a pas de fonction toute faite, mais c'est pas vraiment difficile de calculer le dernier jour du mois :
d := IncMonth(RecodeDay(LaDate, 1)) - 1
Pour le nombre de jours du mois il y a DaysInMonth / DaysInAMonth (depuis Delphi 6 - au cas où tu as une plus vieille version...)
Ce qui permettrait de faire pour la 1e fonction :
d := RecodeDay(DaysInMonth(LaDate))
Marsh Posté le 12-12-2007 à 17:00:25
Salut ,
Suivant ta version tu peux regarder avec EndOfTheMonth .
Marsh Posté le 13-12-2007 à 20:36:45
Pas grave va .
Tu vas t'en remettre non ?
Marsh Posté le 17-12-2007 à 14:28:09
Merci de vos réponses
Malheureusement pour ce projet j'utilise Deplhi 5 et les fonctions citées ci-dessus sont toutes inconnues.
J'ai donc codé ma propre fonction, que je copie ici au cas où ça intéresserait d'autres personnes :
Code :
|
Et tant qu'on y est j'ai aussi écrit une fonction qui renvoie le numéro de la semaine pour la date fournie en paramètre, je partage au cas où :
Code :
|
Marsh Posté le 17-12-2007 à 16:22:30
La fonction IncMonth existe dans Delphi 5, c'est plus simple pour ajouter 1 mois
Et en alternative du DaysInMonths que j'avais utilisé, on peut faire MonthsDays[IsLeapYear(Annee)][mois];
Marsh Posté le 11-12-2007 à 11:49:22
Salut à tous !
Le dernier jour du mois ce n'est pas seulement le jour de la paye, c'est aussi un fichu nombre qui varie selon les mois et les années, entre 28, 29, 30 et 31.
Je cherche donc une fonction Delphi qui prendrait en entrée un TDate ou un TDateTime, et qui me renverrait un entier ou un TDate ou un TDateTime contenant le dernier jour du mois ou le nombre de jours du mois.
L'un de vous aurait ce genre d'infos ?
(la fonction de Recherche ne me donne rien à ce sujet, au revoir les flammers)