![]() |
Datenbank: Firebird • Version: 2.1 • Zugriff über: IBdataset
Jahrestage berechnen
Hallo,
möchte in meiner Anwendung für unser Verein eine Übersicht über Jahrestage (Geburtstage, Zugehörigkeit usw.) erstellen. Die gesamten Daten sind schon in einer Tabelle vorhanden. Den Mitgliedern soll gratulliert werden zum halben und vollem Jahrzehnt also 20. Geburtstag, 25.-ter, 30.-ter usw. Jetzt fehlt mir der Ansatz für einen Algorithmus. Wie bekommt man raus, anhand des Geburtsdatums, wie alt der Mensch ist. Gibt es in Delphi schon fertige Proceduren dafür? Danke, Luckner |
AW: Jahrestage berechnen
Hallo,
für solche Berechnungen wandle ich das Datum gern um in das Format JJJJMMTT. Dann kannst du "ganz normal rechnen", z.B. aktuelles Jahr - Geburtsjahr = Alter. Für deine Anforderungen könnte die Mod Funktion hilfreich sein. |
AW: Jahrestage berechnen
Schau dir einfach mal die folgenden Funktionen an:
![]() ![]() ![]() ![]() ![]() |
AW: Jahrestage berechnen
Hi,
ich habe dafür eine SP in der Firebird DB:
Code:
Wobei date$ und smallint$ Domains sind.
create or alter procedure get_age (
geb_datum date$, datum date$ = null) returns ( result smallint$) as begin result = null; if (:geb_datum is not null) then begin if (:datum is null) then datum = current_date; result = extract(year from :datum) - extract(year from :geb_datum); -- wenn Tag erst noch kommt, dann minus 1 if (extract(month from :geb_datum) >= extract(month from :datum)) then begin if (extract(month from :geb_datum) > extract(month from :datum)) then result = :result - 1; else if (extract(day from :geb_datum) > extract(day from :datum)) then result = :result - 1; end end suspend; end Dann kannst du mit: select result from get_age(geb_datum) das Alter ermitteln. Frank |
AW: Jahrestage berechnen
Oder man nimmt die entsprechende Funktion von FireBird
DateDiff() |
AW: Jahrestage berechnen
Zitat:
Ich habe es damit nämlich nicht hinbekommen! Frank |
AW: Jahrestage berechnen
Es gab da mal einen Beitrag von Wolfgang Mix der evntuell hilfreich sein könnte
![]() |
AW: Jahrestage berechnen
... und es gibt ein Tutorial :-D
![]() den Rest müßte eine Abfrage lösen, etwa if alter mod 5 = 0 then... |
AW: Jahrestage berechnen
Danke für die Hinweise. Werde mich damit auseinander setzen. Hatte schon so ein Gefühl, dass das keine 08/15-Aufgabe sein wird. Aber so macht das Programmieren auch Spass.
Danke, Luckner |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz