Dates relatives (code)
De Wiki1000
(Différences entre les versions)
Syfre (discuter | contributions)
(Nouvelle page : Une date relative est une date qui représente un déplacement par rapport à une date de référence. Une date relative encode : * Un déplacement qui est un nombre. * Une unité ...)
Modification suivante →
(Nouvelle page : Une date relative est une date qui représente un déplacement par rapport à une date de référence. Une date relative encode : * Un déplacement qui est un nombre. * Une unité ...)
Modification suivante →
Version du 14 août 2009 à 09:36
Une date relative est une date qui représente un déplacement par rapport à une date de référence.
Une date relative encode :
- Un déplacement qui est un nombre.
- Une unité de déplacement qui peut être des jours, semaines, mois, années.
- Un déterminant qui peut être le début ou la fin de l'année, le mois, la semaine, le trimestre, la décade.
Ces informations sont encodées pour former une valeur négative de TDatetime.
Exemple :
function TRelativeDateInfo.RelativeToAbsolute:TDatetime; begin aReference := Now; case aBase of rbday: Result := AddDays(aReference, aOffset); rbweek: Result := AddWeeks(aReference, aOffset); rbmonth: Result := AddMonths(aReference, aOffset); else Result := AddYrs(aReference, aOffset); end; DecodeDate(Result, aYear, aMonth, aDay); case aFlag of rdbstartyear: Result := GetFirstDayOfYear(aYear); rdbendyear: Result := GetLastDayOfYear(aYear); rdbstartmonth: Result := GetFirstDayOfMonth(Result); rdbendmonth: Result := GetLastDayOfMonth(Result); rdbstartweek: Result := StartOfISOWeek(Result); rdbendweek: Result := EndOfISOWeek(Result); rdbstartquarter: Result := GetFirstDayOfQuarter(Result); rdbendquarter: Result := GetLastDayOfQuarter(Result); rdbstartdecade: Result := StartOfDecade(Result); rdbenddecade: Result := EndOfDecade(Result); end; end;
— Code métier — Développement DSM —