Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TDateTime (https://www.delphipraxis.net/21635-tdatetime.html)

xineohp 5. Mai 2004 21:45

Re: TDateTime
 
jupp, genau dafür ist "DateDelta" da, entspricht genau den Tagen zwischen dem Jahre 0 und 1899.

PS: tDatetime Variablen sind eigentlich real Werte ... der Vorkommateil gibt die Tage seit 1899 an und der Nachkommateil den Rest.

Deswegen ergibt ZeitB-ZeitA-DateDelta die Anzahl der dazwischenliegenden Tage und Tagesbruchteile.

xineohp 5. Mai 2004 21:46

Re: TDateTime
 
@fkerber

wenn dann muss er DateDelta = 693594 abziehen, da tDatetime intern in Tagen zählt. (siehe meinen letzten post).

dR4g0N 5. Mai 2004 21:53

Re: TDateTime
 
boah mein kopp der burnt ein wenig. Soviele neue Sachen. Ich glaube ich hab mehr gelrent als in den letzten 6 Info Std. ^^ Naja ich bin jetzt bei folgendem Code:

Delphi-Quellcode:
program datum;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  date1, date2, date3 : String;
  mdate1, mdate2, mdate3 : TDateTime;

begin

WriteLn('Bitte geben Sie das 1. Datum ein: [dd.mm.yyyy]');
ReadLn(date1);
WriteLn('Bitte geben Sie das 2. Datum ein: [dd.mm.yyyy]');
ReadLn(date2);
mdate1 := StrToDate(date1);
mdate2 := StrToDate(date2);
mdate3 := mdate1 - mdate2 - DateDelta;
date3 := DateToStr(mdate3);
WriteLn('Die Differenz betraegt: ', date3);
ReadLn

end.
Jedoch ist das noch nicht ganz richtig, weil wenn ich:

20.02.2004
-20.02.2002

mache, kommt:

31.12.0001 raus.

Ich muss erstmal drüber nachdenken, wo mein Denkfehler liegt ^^

Muetze1 5. Mai 2004 22:05

Re: TDateTime
 
Moin!

Wieso? Ist doch völlig richtig! Die Differenz (die Tage dazwischen) betragen 1 Jahr, 12 Monate und 31 Tage. Wenn du glatt 2 Jahre haben willst, dann rechne +1.

MfG
Muetze1

dR4g0N 5. Mai 2004 22:12

Re: TDateTime
 
ähh sry vertippt es komm dann

31.12.0002 raus

also

31 Tage und 12 Monate zuviel ... ^^

Robert_G 5. Mai 2004 22:16

Re: TDateTime
 
Differenz in Tagen?
Jaaanz einfach....
DateTime ist Double, vorne Tage hinten Millisekunden.
Also:
Delphi-Quellcode:
  Diff := trunc(DateTime1) - trunc(DateTime2);

dR4g0N 5. Mai 2004 22:43

Re: TDateTime
 
Wahhh wieso sagt hier eigentlich jeder was anderes? :P
Naja glaube, es ist einfach zu spät, werde jetzt schlafen gehe.
Thx @ all die mir geholfen haben :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:01 Uhr.
Seite 2 von 2     12   

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-2025 by Thomas Breitkreuz