Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Alter berechnen! (https://www.delphipraxis.net/125575-alter-berechnen.html)

haentschman 8. Dez 2008 19:26

Re: Alter berechnen!
 
alter ist ja die Differenz aus Heute und gewähltem Datum (in Tagen oder /365 in Jahren)...und das wieder in ein Datum zurück ab dem Datum Nullpunkt ( :oops: hab ich vergessen :? ) ergibt dann manche lustige Kombination.

der Nullpunkt wäre showmessage(datetostr(0))...laß es dir mal anzeigen.

Michael Habbe 8. Dez 2008 19:26

Re: Alter berechnen!
 
Zitat:

Zitat von thiagojonas
showmessage(datetostr(alter));

Und wie bist Du an "alter" gekommen?!?



Mein Vorredner war schneller.

Heute 4.11.2008 - 4.11.1990 sind 18 Jahre.
Ab dem 31.12.1899 (der Nullpunkt) wäre es dann der 4.11.1917.

thiagojonas 8. Dez 2008 19:30

Re: Alter berechnen!
 
Zitat:

Zitat von Michael Habbe
Zitat:

Zitat von thiagojonas
showmessage(datetostr(alter));

Und wie bist Du an "alter" gekommen?!?

Steht in der oberen Threads.

thiagojonas 8. Dez 2008 19:31

Re: Alter berechnen!
 
Zitat:

Zitat von haentschman
alter ist ja die Differenz aus Heute und gewähltem Datum (in Tagen oder /365 in Jahren)...und das wieder in ein Datum zurück ab dem Datum Nullpunkt ( :oops: hab ich vergessen :? ) ergibt dann manche lustige Kombination.

der Nullpunkt wäre showmessage(datetostr(0))...laß es dir mal anzeigen.

Habe ich, kommt irgenetwas mit 1899 raus, beim ausgewählten Datum 8.12.2008 :gruebel:

Michael Habbe 8. Dez 2008 19:33

Re: Alter berechnen!
 
Aber warum willst Du Dir eigentlich die Differenz als Datum anzeigen lassen? :gruebel:
Mach doch einfach ShowMessage(FloatToStr(alter)), dann siehst Du doch die Jahre.

haentschman 8. Dez 2008 19:38

Re: Alter berechnen!
 
ok...vom Anfang
Zitat:

Habe ich, kommt irgenetwas mit 1899 raus,
...nämlich genau 31.12.1899 (siehe Post #12)

das Date ist eine Zahl entsprechend der Differenz vom 31.12.1899 zu dem gewähltem Datum. Darum kannst du auch mit Datumswerten rechnen. Mit "10.10.2007 - 09.09.2009" würde das nämlich nicht funktionieren.

d.h. der Computer speichert ein Datum immer als Differenz zum "Nullpunkt"

thiagojonas 8. Dez 2008 19:42

Re: Alter berechnen!
 
Okay habe ich verstanden.
Aber was muss ich den tun, damit ich das Alter berechnen kann?
denn 8.12.2008 - 8.12.2008 und ShowMessage(FloatToStr(alter)) kommt bei mir 4 raus.

haentschman 8. Dez 2008 19:44

Re: Alter berechnen!
 
Zitat:

denn 8.12.2008 - 8.12.2008 und ShowMessage(FloatToStr(alter)) kommt bei mir 4 raus.
:wiejetzt:

Michael Habbe 8. Dez 2008 19:45

Re: Alter berechnen!
 
Zitat:

Zitat von thiagojonas
Okay habe ich verstanden.
Aber was muss ich den tun, damit ich das Alter berechnen kann?
denn 8.12.2008 - 8.12.2008 und ShowMessage(FloatToStr(alter)) kommt bei mir 4 raus.

Vielleicht zuerstmal die Hilfe zum TDateTime-Typ studieren.
Damit hast Du dann das Hintergrundwissen, um damit zu rechnen.

Zitat:

Zitat von Delphi Help System
TDateTime Typ

TDateTime repräsentiert einen Datums-/Zeitwert in der Sprache Delphi.

Unit
System

Syntax


[Delphi] type TDateTime = TDateTime;


Beschreibung
In Delphi entspricht der Typ TDateTime einem Double-Wert. Der Delphi-Typ TDateTime entspricht der Klasse TDateTime von C++.
Der ganzzahlige Teil eines TDateTime-Wertes von Delphi entspricht der Anzahl der Tage seit dem 30.12.1899. Der fraktionale Teil des TDateTime-Wertes gibt die Tageszeit an.
Es folgen einige Beispiele für TDateTime-Werte und die entsprechenden Datums- und Zeitangaben:
0
30.12.1899 12.00 Uhr

2.75
1.1.1900 18.00 Uhr

-1.25
29.12.1899 6.00 Uhr

35065
1.1.1996 12:00 am


Wenn beide TDateTime-Werte positiv sind, brauchen Sie zur Ermittlung der Tage zwischen zwei Datumsangaben die beiden Werte nur voneinander zu subtrahieren. Um eine Datums-/Zeitangabe um eine bestimmte Anzahl von Tagen zu erhöhen, addieren Sie einfach die Anzahl zu dem TDateTime-Wert hinzu.
Wenn Sie mit negativen TDateTime-Werten arbeiten, muss der Zeitanteil separat berechnet werden. Der Zeitanteil gibt den Bruchteil eines 24-Stundentages ohne Berücksichtigung des Vorzeichens des TDateTime-Wertes wieder. 6:00 am 29.12.1899 ist –1,25, nicht –1 + 0,25, was –0,75 ergäbe. Zwischen – 1 und 0 gibt es keine TDateTime-Werte.
Hinweis:
In Delphi 1.0 wurde das Datum vom Jahr 1 und nicht von 1899 an errechnet. Um ein Delphi 1.0-Datum in einen TDateTime-Wert einer neueren Delphi-Version zu konvertieren, subtrahieren Sie vom Delphi 1.0-Datum den Wert 693594,0.


roga 8. Dez 2008 19:47

Re: Alter berechnen!
 
Delphi-Quellcode:
Alter := YearsBetween(Geburtsdatum, Now);


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz