Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Die Differenz zweier Datums ohne derücksichtigung des Jahres (https://www.delphipraxis.net/6612-die-differenz-zweier-datums-ohne-deruecksichtigung-des-jahres.html)

-=noname=- 16. Jul 2003 20:13


Die Differenz zweier Datums ohne derücksichtigung des Jahres
 
Hey,
Folgendes Problem!
Ich hab ein Festes ereigenis z.B. Weihnachten!
nun möchte ich mir anzeigen wieviele Tage es noch bis weihnachten sind..gebe ich allerdings weihnachten als festes Datum ein dann funzt das Programm höchstens ein jahr danach spuckt es mir negative Zahlen aus!

Wie kann ich das Verhindern?
oder wie kann ich die differenz berrechnen ohne das ich das jahr ins datum beeinflussen lasse...?

danke schonmal!

Christian Seehase 16. Jul 2003 20:18

Re: Die Differenz zweier Datums ohne derücksichtigung des Ja
 
Moin Noname,

erst einmal herzlich willkommen in der Delphi-PRAXiS.

Um festzustellen, warum Dein Algorithmus nicht so läuft wie er soll, solltest Du ihn auch mal vorzeigen.

negaH 16. Jul 2003 23:46

Re: Die Differenz zweier Datums ohne derücksichtigung des Ja
 
decodiere beide Daties und berechne das feste Datum um zum aktuellen Jahr

Delphi-Quellcode:

function Diff(FixDate: TDateTime): Double;
var
  Y1,M1,D1: Word;
  Y2,M2,D2: Word;
begin
  DecodeDate(Fixdate, Y1, M1, D1);
  DecodeDate(Now, Y2, M2, D2);
  Result := EncodeDate(Y2, M1, D1) - Now;
end;
so als Anfang. Beachte das bestimmte Daties nicht korrekt arbeiten, es können fehler auftreten.

Ein anderer Weg wäre relativ zum 1.1. zu rechnen.

Delphi-Quellcode:

function Diff(FixDate: TDateTime): Double;
var
  Y1,M1,D1: Word;
  Y2,M2,D2: Word;
begin
  DecodeDate(Fixdate, Y1, M1, D1);
  DecodeDate(Now, Y2, M2, D2);
  Result := Abs(EncodeDate(Y1, 1, 1) - EncodeDate(Y2, 1, 1)) + FixDate - Now;
end;

Gruß Hagen


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:55 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