Dates relatives (code)
De Wiki1000
Version du 30 mai 2016 à 12:20 par Syfre (discuter | contributions)
Une date relative est une date qui représente un déplacement par rapport à une date de référence qui est généralement la date du jour.
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.
Ces dates sont créées et gérées par les contrôles pour permettre à l'utilisateur de définir des dates relative dans les paramètres des requêtes et des traitements.
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 —