Programmation Delphi: routines date / heure

Compare deux valeurs TDateTime (renvoie "moins", "égal" ou "supérieur"). Ignore la partie Heure si les deux valeurs "tombent" le même jour.

Fonction CompareDateTime

Compare deux valeurs TDateTime (renvoie "moins", "égal" ou "supérieur").

Déclaration:
type TValueRelationship = -1..1
une fonction CompareDateTime (const ADate, BDate: TDateTime): TValueRelationship

La description:
Compare deux valeurs TDateTime (renvoie "moins", "égal" ou "supérieur").

TValueRelationship représente la relation entre deux valeurs. Chacune des trois valeurs TValueRelationship a une constante symbolique «aimée»:
-1 [LessThanValue] La première valeur est inférieure à la deuxième valeur.
0 [EqualsValue] Les deux valeurs sont égales.
1 [GreaterThanValue] La première valeur est supérieure à la deuxième valeur.
CompareDate se traduit par:

LessThanValue si ADate est antérieur à BDate.
EqualsValue si les parties de date et d'heure de ADate et BDate sont identiques
GreaterThanValue si ADate est postérieure à BDate.

Exemple:

var ThisMoment, FutureMoment: TDateTime; ThisMoment: = Maintenant; FutureMoment: = IncDay (ThisMoment, 6); // ajoute 6 jours. // CompareDateTime (ThisMoment, FutureMoment) renvoie LessThanValue (-1) // CompareDateTime (FutureMoment, ThisMoment) renvoie GreaterThanValue (1)
instagram viewer

Fonction CompareTime

Compare deux valeurs TDateTime (renvoie "moins", "égal" ou "supérieur"). Ignore la partie Date si les deux valeurs se produisent en même temps.

Déclaration:
type TValueRelationship = -1..1
une fonction CompareDate (const ADate, BDate: TDateTime): TValueRelationship

La description:
Compare deux valeurs TDateTime (renvoie "moins", "égal" ou "supérieur"). Ignore la partie Time si les deux valeurs se produisent en même temps.

TValueRelationship représente la relation entre deux valeurs. Chacune des trois valeurs TValueRelationship a une constante symbolique «aimée»:
-1 [LessThanValue] La première valeur est inférieure à la deuxième valeur.
0 [EqualsValue] Les deux valeurs sont égales.
1 [GreaterThanValue] La première valeur est supérieure à la deuxième valeur.
CompareDate se traduit par:

LessThanValue si ADate se produit plus tôt dans la journée spécifiée par BDate.
EqualsValue si les parties heure de ADate et BDate sont identiques, sans tenir compte de la partie Date.
GreaterThanValue si ADate se produit plus tard dans la journée spécifiée par BDate.

Exemple:

var ThisMoment, AnotherMoment: TDateTime; ThisMoment: = Maintenant; AnotherMoment: = IncHour (ThisMoment, 6); // ajoute 6 heures. // CompareDate (ThisMoment, AnotherMoment) renvoie LessThanValue (-1) // CompareDate (AnotherMoment, ThisMoment) renvoie GreaterThanValue (1

Fonction date

Renvoie la date système actuelle.

Déclaration:
type TDateTime = type Double;

une fonction date: TDateTime;

La description:
Renvoie la date système actuelle.

La partie intégrante d'une valeur TDateTime est le nombre de jours qui se sont écoulés depuis le 30/12/1899. La partie fractionnaire d'une valeur TDateTime est la fraction d'une journée de 24 heures qui s'est écoulée.

Pour trouver le nombre fractionnaire de jours entre deux dates, il suffit de soustraire les deux valeurs. De même, pour incrémenter une valeur de date et d'heure d'un certain nombre fractionnaire de jours, ajoutez simplement le nombre fractionnaire à la valeur de date et d'heure.

Exemple: ShowMessage ('Aujourd'hui est' + DateToStr (Date));

Fonction DateTimeToStr

Convertit une valeur TDateTime en chaîne (date et heure).

Déclaration:
type
TDateTime = type Double;

une fonction DayOfWeek (Date: TDateTime): entier;

La description:
Renvoie le jour de la semaine pour une date donnée.

DayOfWeek renvoie un entier compris entre 1 et 7, où dimanche est le premier jour de la semaine et samedi le septième.
DayOfTheWeek n'est pas conforme à la norme ISO 8601.

Exemple:

const Days: tableau [1..7] de chaîne = ('Dimanche Lundi Mardi Mercredi Jeudi Vendredi Samedi') ShowMessage ('Aujourd'hui est' + Jours [DayOfWeek (Date)]); //C'est lundi aujourd'hui

Fonction DaysBetween

Donne le nombre de jours entiers entre deux dates spécifiées.

Déclaration:
une fonction
DaysBetween (const ANow, AThen: TDateTime): Entier;

La description:
Donne le nombre de jours entiers entre deux dates spécifiées.

La fonction ne compte que des jours entiers. Cela signifie qu'il renverra 0 comme résultat de la différence entre 05/01/2003 23:59:59 et 05/01/2003 23:59:58 - où la différence réelle est d'un * jour * entier moins 1 seconde .

Exemple:

var dtNow, dtBirth: TDateTime; DaysFromBirth: entier; dtNow: = Maintenant; dtBirth: = EncodeDate (1973, 1, 29); DaysFromBirth: = DaysBetween (dtNow, dtBirth); ShowMessage ('Zarko Gajic "existe"' + IntToStr (DaysFromBirth) + 'jours entiers!');

Fonction DateOf

Renvoie uniquement la partie Date de la valeur TDateTime, en définissant la partie Heure sur 0.

Déclaration:
une fonction
DateOf (Date: TDateTime): TDateTime

La description:
Renvoie uniquement la partie Date de la valeur TDateTime, en définissant la partie Heure sur 0.

DateOf définit la partie heure sur 0, ce qui signifie minuit.

Exemple:

var ThisMoment, ThisDay: TDateTime; ThisMoment: = Maintenant; // -> 06/27/2003 10:29:16:138. ThisDay: = DateOf (ThisMoment); // Ce jour: = 27/06/2003 00: 00: 00: 000

Fonction DecodeDate

Séparez les valeurs Year, Month et Day d'une valeur TDateTime.

Déclaration:
procédure
DecodeDate (Date: TDateTime; var Année, mois, jour: Word) ;;

La description:
Séparez les valeurs Year, Month et Day d'une valeur TDateTime.

Si la valeur TDateTime donnée est inférieure ou égale à zéro, les paramètres de retour de l'année, du mois et du jour sont tous définis sur zéro.

Exemple:

var Y, M, D: Word; DecodeDate (Date, Y, M, D); si Y = 2000, alors. ShowMessage («Vous» êtes dans un «mauvais» siècle!);

Fonction EncodeDate
Crée une valeur TDateTime à partir des valeurs Year, Month et Day.

Déclaration:
une fonction
EncodeDate (année, mois, jour: Word): TDateTime

La description:
Crée une valeur TDateTime à partir des valeurs Year, Month et Day.

L'année doit être comprise entre 1 et 9999. Les valeurs de mois valides sont comprises entre 1 et 12. Les valeurs de jour valides sont comprises entre 1 et 28, 29, 30 ou 31, selon la valeur du mois.
Si la fonction échoue, EncodeDate déclenche une exception EConvertError.

Exemple:

var Y, M, D: Word; dt: TDateTime; y: = 2001; M: = 2; D: = 18; dt: = EncodeDate (Y, M, D); ShowMessage ('Borna le sera. un an le '+ DateToStr (dt))

Fonction FormatDateTime
Formate une valeur TDateTime en chaîne.

Déclaration:
une fonction
FormatDateTime (const Fmt: chaîne; Valeur: TDateTime): chaîne;

La description:
Formate une valeur TDateTime en chaîne.

FormatDateTime utilise le format spécifié par le paramètre Fmt. Pour les spécificateurs de format pris en charge, consultez les fichiers d'aide Delphi.

Exemple:

var s: chaîne; d: TDateTime;... d: = maintenant; // aujourd'hui + heure actuelle. s: = FormatDateTime ('dddd', d); // s: = mercredi. s: = FormatDateTime ('"Aujourd'hui est" dddd "minute" nn', d) // s: = Aujourd'hui est mercredi minute 24

Fonction IncDay

Ajoute ou soustrait un nombre de jours donné d'une valeur de date.

Déclaration:
une fonction
IncDay (ADate: TDateTime; Jours: Entier = 1): TDateTime;

La description:
Ajoute ou soustrait un nombre de jours donné d'une valeur de date.

Si le paramètre Days est négatif, la date renvoyée est

Exemple:

var Date: TDateTime; EncodeDate (Date, 2003, 1, 29) // 29 janvier 2003. IncDay (Date, -1) // 28 janvier 2003

Fonctionne maintenant

Renvoie la date et l'heure actuelles du système.

Déclaration:
type
TDateTime = type Double;

une fonction Maintenant: TDateTime;

La description:
Renvoie la date et l'heure actuelles du système.

La partie intégrante d'une valeur TDateTime est le nombre de jours qui se sont écoulés depuis le 30/12/1899. La partie fractionnaire d'une valeur TDateTime est la fraction d'une journée de 24 heures qui s'est écoulée.

Pour trouver le nombre fractionnaire de jours entre deux dates, il suffit de soustraire les deux valeurs. De même, pour incrémenter une valeur de date et d'heure d'un certain nombre fractionnaire de jours, ajoutez simplement le nombre fractionnaire à la valeur de date et d'heure.

Exemple: ShowMessage ('Now is' + DateTimeToStr (Now));

Années entre fonctions

Donne le nombre d'années entières entre deux dates spécifiées.

Déclaration:
une fonction
Années entre (const SomeDate, AnotherDate: TDateTime): Entier;

La description:
Donne le nombre d'années entières entre deux dates spécifiées.

YearsBetween renvoie une approximation basée sur une hypothèse de 365,25 jours par an.

Exemple:

var dtSome, dtAnother: TDateTime; DaysFromBirth: entier; dtSome: = EncodeDate (2003, 1, 1); dtAnother: = EncodeDate (2003, 12, 31); YearsBetween (dtSome, dtAnother) == 1 // année non bissextile. dtSome: = EncodeDate (2000, 1, 1); dtAnother: = EncodeDate (2000, 12, 31); YearsBetween (dtSome, dtAnother) == 0 // année bissextile