FAQ C++ BuilderConsultez toutes les FAQ

Nombre d'auteurs : 60, nombre de questions : 670, dernière mise à jour : 21 novembre 2010  Ajouter une question

 

Cette F.A.Q. a été réalisée à partir des questions fréquemment posées sur le forum C++ Builder de developpez.com et de l'expérience personnelle des auteurs.

Nous tenons à souligner que cette F.A.Q. ne garantit en aucun cas que les informations qu'elle propose soient correctes. Les auteurs font le maximum, mais l'erreur est humaine. Cette F.A.Q. ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez devenir rédacteur, contactez pottiez

Nous espérons que cette F.A.Q. saura répondre à un maximum de vos questions. Nous vous souhaitons une bonne lecture.

L'équipe C++ Builder de Developpez.

Commentez cette FAQ : Commentez


SommaireGestion du tempsOpérations sur les dates/heures (5)
précédent sommaire suivant
 

Pour ajouter ou soustraire un nombre de jours à une date, on peut utiliser plusieurs méthodes :

En utilisant directement la date :

Code c++ : Sélectionner tout
1
2
3
4
5
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) :

Code c++ : Sélectionner tout
1
2
3
4
5
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) :

Code c++ : Sélectionner tout
1
2
3
4
5
6
7
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'.

Mis à jour le 27 octobre 2004 psl Ricky81

Pour calculer la différence entre deux dates, on peut utiliser plusieurs méthodes :

En utilisant directement les dates :

Code c++ : Sélectionner tout
1
2
3
4
TDateTime date1, date2; 
// initialisation avec EncodeDate par exemple 
  
double diff = date2 - date1;
En utilisant des fonctions (n'oubliez pas d'inclure le fichier DateUtils.hpp) :

Code c++ : Sélectionner tout
1
2
3
4
TDateTime date1, date2; 
// initialisation avec EncodeDate par exemple 
  
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) :

Code c++ : Sélectionner tout
1
2
3
4
TDateTime date1, date2; 
// initialisation avec EncodeDate par exemple 
  
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 :

Code c++ : Sélectionner tout
1
2
3
4
5
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;

Mis à jour le 27 octobre 2004 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"

Code c++ : Sélectionner tout
1
2
3
4
5
TDateTime date1; 
int numeroJ; 
  
date1 = Now(); 
numeroJ = DayOfTheYear(date1);

Mis à jour le 27 octobre 2004 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"

Code c++ : Sélectionner tout
1
2
3
4
5
TDateTime date1; 
int numeroS; 
  
date1 = Now(); 
numeroS = WeekOfTheYear(date1);

Mis à jour le 27 octobre 2004 psl Ricky81

Le numéro de la semaine est renvoyé par la fonction DayOfTheWeek().
Pour l'utiliser, il vous faut inclure "DateUtils.hpp"

Code c++ : Sélectionner tout
1
2
3
4
5
TDateTime date1; 
int jourSemaine; 
  
date1 = Now(); 
jourSemaine = DayOfTheWeek(date1);

Mis à jour le 27 octobre 2004 psl Ricky81

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2020 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.