AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tage in Jahre

Ein Thema von The Re@l · begonnen am 5. Apr 2003 · letzter Beitrag vom 8. Apr 2003
Antwort Antwort
Seite 1 von 2  1 2      
The Re@l

Registriert seit: 2. Jan 2003
77 Beiträge
 
#1

Tage in Jahre

  Alt 5. Apr 2003, 17:24
Holla

Ich hab folgendes Porblem:

Code:
var
d: Tdatetime;
i: integer;
begin
d := Query1.FieldByName('date').AsDateTime;
i := Round(now - d);
edit2.Text := intToStr(i)
so der gibt mir nun die differenz in Tagen zurück, aber ich finde keine Lösung es in Jahre auszugeben, geht das überhaupt? Von wegen Schaltjahr etc.

Cya
The Re@l
  Mit Zitat antworten Zitat
Haegar

Registriert seit: 10. Dez 2002
Ort: Peitz
319 Beiträge
 
Delphi 7 Professional
 
#2
  Alt 5. Apr 2003, 17:35
rechne es doch einfach um 1 jahr hat 365 tage (abgesehen vom schaltjahr). brauchst doch also nur das ergebniss durch 365 teilen!

edit: das mit dem schaltjahr hatte ich überlesen

gruss haegar
  Mit Zitat antworten Zitat
The Re@l

Registriert seit: 2. Jan 2003
77 Beiträge
 
#3
  Alt 5. Apr 2003, 17:43
das dumme ist das ich es als erinnerungsFunktion einbauen wollte der mir direkt sagt wie alt die Person ist, aber wenn ich durch 365 teile kommt die rechnung nich aus.
  Mit Zitat antworten Zitat
Haegar

Registriert seit: 10. Dez 2002
Ort: Peitz
319 Beiträge
 
Delphi 7 Professional
 
#4
  Alt 5. Apr 2003, 17:53
ich hab noch ne idee, wird aber vielleicht umständlicher als nötig.
alle 4 jahre (1460 Tage) haste ein tag mehr pro jahr.
kannste da nicht rekursiv rechnen und immer prüfen ob irgendwas (hab noch nicht ganz gefunden was) durch 1460 gleich 0 als rest liefert...dann haste schaltjahr, und deine tage im jahr sind nun 366 und wenn der rest<>0 ist, dann 365 tage!

einigermaßen verstanden?
gruss haegar
  Mit Zitat antworten Zitat
The Re@l

Registriert seit: 2. Jan 2003
77 Beiträge
 
#5
  Alt 5. Apr 2003, 17:54
jop verstanden klingt auch logisch ich setz mich mal ran

Dank dir erstmal
  Mit Zitat antworten Zitat
Haegar

Registriert seit: 10. Dez 2002
Ort: Peitz
319 Beiträge
 
Delphi 7 Professional
 
#6
  Alt 5. Apr 2003, 17:56
kannste mir die lösung dann mal zeigen? würd mal gern sehen was ich da verbrochen hab )

gruss haegar
  Mit Zitat antworten Zitat
The Re@l

Registriert seit: 2. Jan 2003
77 Beiträge
 
#7
  Alt 5. Apr 2003, 18:11
Ich hab mir gerade noch was anderes überlegt, das, glaub ich, einfacher ist.
Und zwar lasse ich die Datums vergleichen, wenn Tag und Monat identisch ist, soll er mir ne Meldung machen und vom Jahr die Differenz ausgeben.
  Mit Zitat antworten Zitat
The Re@l

Registriert seit: 2. Jan 2003
77 Beiträge
 
#8
  Alt 5. Apr 2003, 19:57
So funktionierts

Code:
var
 datum1, datum2: TDatetime;
 i: Integer;
begin
  IF DBEdit10.Text <>'' then begin
  datum1:= Query1.FieldByName('date').AsDateTime;
  datum2:=now;

  i := round(datum2-datum1);
  i := (i * 4);
  edit2.text := (intToStr(i Div 1461)) + ' jahre';
  end else begin
  edit2.Text := '';
  end;
end;
das war doch so wie du meintest @ haegar, oder?
  Mit Zitat antworten Zitat
woki

Registriert seit: 29. Mär 2003
563 Beiträge
 
Delphi 2006 Architect
 
#9
  Alt 5. Apr 2003, 20:31
Hallo,

mal daran gedacht die Funktion

YearOf()

function YearOf(const AValue: TDateTime): Word;

Die Funktion gibt das Jahr zurück, das von einem TDateTime-Wert repräsentiert wird.

Zusammen mit:
function DayOfTheYear(const AValue: TDateTime): Word;

Die Funktion gibt die Anzahl der Tage zwischen dem angegebenen TDateTime-Wert und dem 31. Dezember des vorhergehenden Jahres an.

Sollte dies doch auch das Problem lösen?

Gruß
Wolfgang
  Mit Zitat antworten Zitat
Haegar

Registriert seit: 10. Dez 2002
Ort: Peitz
319 Beiträge
 
Delphi 7 Professional
 
#10
  Alt 5. Apr 2003, 20:38
also wie gesagt so ne richtig fertige vorstellung hatte ich davon noch nicht, aber ob das mit dem rekursiv überhaupt nötig/praktisch gewesen wäre bezweifel ich selbst

gruss haegar
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 Uhr.
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