System.TDateTime

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

type TDateTime = { built-in type };

C++

class RTL_DELPHIRETURN TDateTime : public TDateTimeBase

Propriétés

Type Visibilité  Source Unité  Parent
type
class
public
System.pas
systdate.h
System System

Description

TDateTime est l'analogue C++ du type de données TDateTime Delphi.

TDateTime implémente le type de données Delphi TDateTime et les routines de la bibliothèque d'exécution des dates et heures utilisant le type de données TDateTime.

La classe TDateTime hérite d'une donnée membre val déclarée en tant que double, qui mémorise la valeur date-heure. La partie entière d'une valeur TDateTime représente le nombre de jours qui se sont écoulés depuis le 30 décembre 1899. Sa partie fractionnaire représente l'heure. La date maximale correcte supportée par les valeurs TDateTime est limitée au 31/12/9999 à 23:59:59:999. Toutes les valeurs allant au-delà de cette date provoque des erreurs et des exceptions dans la plupart des routines qui opèrent avec des valeurs TDateTime.

TDateTime supporte aussi les valeurs négatives. Le spectre négatif reflète en miroir exactement le spectre positif. Ainsi, une valeur de Now (positive) est exactement la même que sa valeur négative -Now. Utilisez les valeurs TDateTime négatives avec précaution. Un usage incorrect de valeurs négatives peut conduire à des problèmes variés.

Le tableau suivant affiche des exemples de valeurs TDateTime avec les dates et heures correspondantes :

Valeur Description
0 30 décembre 1899; 12:00
2.75 1 janvier 1900; 18:00
-1.25 29 décembre 1899; 6:00
35065 1 janvier 1996; 12:00

Pour trouver le nombre fractionnaire de jours entre deux dates, il suffit de soustraire les deux valeurs, sauf si l'une des valeurs TDateTime est négative. De même, pour incrémenter une valeur date-heure d'un certain nombre fractionnaire de jours, ajoutez le nombre fractionnaire à la valeur date-heure si la valeur TDateTime est positive.

Lors de la manipulation de valeurs TDateTime négatives, les calculs doivent traiter la partie heure séparément. La partie fractionnaire reflète la fraction d'une journée de 24 heures indépendamment du signe de la valeur TDateTime. Par exemple, 6:00 le 29 décembre 1899 est –1.25, et non –1 + 0.25, ce qui reviendrait à –0.75. Il n'existe pas de valeur TDateTime de –1 à 0.

Remarque: Utilisez uniquement les opérateurs déclarés par TDateTime. Le compilateur ignorera les opérateurs que vous avez vous-même surchargés.
Avertissement: Il est impossible d'utiliser TDateTime comme classe de base pour l'héritage. Pour ajouter des fonctionnalités à TDateTime, vous devez écrire une classe wrapper.
Remarque: Pour exploiter les opérateurs de flux C++ (<< et >>) avec Currency, vous devez inclure la bibliothèque iostream avant la bibliothèque systdate.

Les opérateurs de flux suivants sont définis :

ostream& operator << (ostream& os, const TDateTime& arg);
istream& operator >> (istream& is, TDateTime& arg);

Voir aussi