| auteurs : Psl, Ricky81 | Pour ajouter ou soustraire un nombre de jours à une date, on peut utiliser plusieurs méthodes :
En utilisant directement la date :
TDateTime date1;
int nbJours;
date1 = EncodeDate (2002 , 11 , 1 );
date1 = date1 + nbJours;
|
La variable nbJours peut bien évidemment être positive ou négative.
En utilisant des fonctions (n'oubliez pas d'inclure le fichier DateUtils.hpp) :
TDateTime date1;
int nbJours;
date1 = EncodeDate (2002 , 11 , 1 );
date1 = IncDay (date1, nbJours);
|
Ici aussi, la variable nbJours peut être positive ou négative. On peut également avoir recours aux fonctions IncWeek(), IncMonth(), et IncYear().
En utilisant le jour Julien (n'oubliez pas d'inclure le fichier DateUtils.hpp) :
TDateTime date1;
Word Annee, Mois, Jour, Heure, Minute, Seconde, milliSec;
double jourJul;
date1 = EncodeDateTime (annee, mois, jour, heure, minute, seconde, milliSec);
jourJul = DateTimeToJulianDate (date1) + nbJours;
date1 = JulianDateToDateTime (date1);
|
nbJours peut être positif ou négatif, mais il peut également être un réel pour permettre d'agir également sur l'heure.
Remarque : La variable jourJul est entière lorsque l'heure est à 12h00'00'.
|
| auteurs : Psl, Ricky81 | Pour calculer la différence entre deux dates, on peut utiliser plusieurs méthodes :
En utilisant directement les dates :
TDateTime date1, date2;
double diff = date2 - date1;
|
En utilisant des fonctions (n'oubliez pas d'inclure le fichier DateUtils.hpp) :
TDateTime date1, date2;
int nbJours = DaysBetween (date1, date2);
|
nbJours correspond au nombre entier de jours séparant les 2 dates.
En utilisant le jour Julien (n'oubliez pas d'inclure le fichier DateUtils.hpp) :
TDateTime date1, date2;
double diff = DateTimeToJulianDate (date2)- DateTimeToJulianDate (date1);
|
Dans les exemples 1 et 3, diff est bien plus précis qu'une différence de date puisqu'il intègre également l'heure. Ainsi, sur l'exemple suivant, on obtiendra une valeur légèrement inférieure à 3 :
TDateTime date1, date2;
date1 = EncodeDateTime (2002 , 1 , 1 , 1 , 1 , 1 , 2 );
date2 = EncodeDateTime (2002 , 1 , 4 , 1 , 1 , 1 , 1 );
double diff = date2 - date1;
|
|
| auteurs : Psl, Ricky81 | Le rang du jour de l'année est renvoyé par la fonction DayOfTheYear(). Pour l'utiliser, il vous faut inclure "DateUtils.hpp"
TDateTime date1;
int numeroJ;
date1 = Now ();
numeroJ = DayOfTheYear (date1);
|
|
| auteurs : Psl, Ricky81 | Le numéro de la semaine dans l'année est renvoyé par la fonction WeekOfTheYear(). Pour l'utiliser, il vous faut inclure "DateUtils.hpp"
TDateTime date1;
int numeroS;
date1 = Now ();
numeroS = WeekOfTheYear (date1);
|
|
| auteurs : Psl, Ricky81 | Le numéro de la semaine est renvoyé par la fonction DayOfTheWeek(). Pour l'utiliser, il vous faut inclure "DateUtils.hpp"
TDateTime date1;
int jourSemaine;
date1 = Now ();
jourSemaine = DayOfTheWeek (date1);
|
|
Consultez les autres F.A.Q.
|
|