Textendeddatetime, composant non-visuel de date et heure multi-fonction


Description

Je vous propose un composant non-visuel (TExtendedDateTime) qui n'est rien d'autre qu'un "calque" de l'unitée DateUtils et des nombreuses fonctions de gestion des types TDateTime, TDate et TTime.

Ce composant et un bon gestionnaire de date et heure, on pourrat facilement definir la date, l'heure, le jours, le mois, l'année, l'heure, les minutes, les secondes et meme les milli-secondes...

Il permet egalement de recupere la date ou l'heure dans un format chaine, en utilisant les vairiable globale de temps ou en deffinissant votre propre format de chaine.

Utilisation de TExtendedDateTime :

Assignez une valeur aux propiétés DateTime, Date, Time, Day, Month, Year, Hour, Minute, Second, MilliSecs pour definir la date ou l'heure a utiliser, lisez ces propriétés pour obtenir les informations qu'elles donnent.

Definissez les propriétés FmtStrDateTime, FmtStrDate et FmtStrTime pour modifier les valeurs de retour des propriétés DateTimeStr, DateStr et TimeStr et egalement les valeurs de retour des fonctions GetDateTimeStr, GetDateStr et GetTimeStr.
Pour ce faire, passez la propriété UseGlobalFormat a true (utilisation des variables globale systeme) ou a false (utilisation de votre propre format)
    • les propriétés suivante sont en lecture seule :


Les propriétés DayStr et MonthStr renvoies le jours et le mois au format long (lundi, mardi, janvier, fevrier etc...)

La propriété DayOfWeek renvois le jours de la semaine (1..7) en considerant Lundi comme le premier jours de la semaine.

La propriété DayOfYear renvois le jours de l'année (x/366 ou x/365)

La propriété DaysInThisYear renvois le nombre de jours dans l'année definie dans la date (365 ou 366).

La propriété WeekOfYear renvois le nombres de semaines dans l'année definie dans la date.

La propriété LeapYear renvois true si l'année est bisextile sinon elle renvous false.

La propriété Meridian renvois tmPM ou tmAM selon le meridien de l'heure definie. (post meridian, after meridian)

La propriété MeridianStr renvois 'Pm' ou 'Am' selon la valeur de la propriété Meridian.

Vous pouvez au choix utiliser les propriétés ou les fonctions interne correspondante, par exemple :

ExtendedDateTime.Day;
Correspond a :
ExtendedDateTime.GetDay;

Le fichier ExtDateTime.res contient l'icone du composant, ne l'effacez pas et copiez le dans le meme repertoire d'installation que l'unité ExtDateTime.pas.

Conclusion :


Pour le moment TExtendedDateTime ne verifie pas de maniere implicite les données qu'on lui passe.
Si vous definissez par exemple une valeur de jours hors du champs 1..31 (ou 1..28, 1..29 pour fevrier) vous aurez alors un message d'erreur (date invalide).

Les valeurs de temps sont :

Année : 1..9999
Mois : 1..12
Jours : 1..31
Heure : 0..23
Minute : 0..59
Seconde: 0..59
Millsec: 0..999

Merci de prevenir tout bugs rencontrés.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.