![]() |
Differenz berechnen
Ich habe da mal 'ne Frage und die lautet:
Ich habe 2 Datumsdaten, die ich vergleichen möchte. Das heisst, ich lade ein Datum aus einer Datei und das andere hol ich mir mit DateToStr(Now). Nun möchte ich die Tage ausrechnen, die zwischen den beiden Daten liegen. Also ich habe zum Beispiel das heutige Datum '8.7.2003' und ein altes Datum '1.7.2003'. Nun würde ich gern die Differenz von den Tagen haben, also als Antwort '7 Tage'. Weis jemand vielleicht wie das geht? :love: Danke UC |
Re: Differenz berechnen
Okay, lassen wir mal strFileDatum das Datum aus der Datei im String-Format sein, dann geht es wie folgt:
Delphi-Quellcode:
...:cat:...
var
TagCount: Integer; begin TagCount := Trunc(Now) - Trunc(StrToDateTime(strFileDatum)); ShowMessage('Es sind ' + IntToStr(TagCount) + ' Tage.'); end; |
Re: Differenz berechnen
Irgenwie krieg ich das nicht so hin.
Bei mir sieht das so aus, nachdem alles geladen wurde:
Delphi-Quellcode:
Nun würde ich gern im Label3 das Stehen haben: '7 Tage'
//Label1
AltesDatum.Caption:='1.7.2003', //Label2 AktuellesDatum.Caption:='8.7.2003' Gibt es da vielleicht ein Beispiel oder verstehe ich sakuras Code einfach nicht :| :love: Danke UC |
Re: Differenz berechnen
Tach auch,
Sakuras Code beantwortet die Frage schon. Hab mal deine Bezeichnung im Code eingesetzt.
Delphi-Quellcode:
Ich denke das willst du haben, oder?
var
TagCount: Integer; begin TagCount := Trunc(AktuellesDatum.Caption) - Trunc(StrToDateTime (AltesDatum.Caption)); Label3.Caption := 'Es sind ' + IntToStr(TagCount) + ' Tage.'; end; Zur Erklärung: Der Ganzzahlige Teil von TDateTime gaben die Tage an. Du musst nur die Tage des alten Datums von den Tagen vom aktuellen Datum subtrahieren. mfg Daniel |
Re: Differenz berechnen
Hallo,
vielleicht ein verständlicherer Weg. Unit "DateUtils" einbinden!
Delphi-Quellcode:
Grüsse, Daniel :hi:
procedure TForm1.Button22Click(Sender: TObject);
begin Label3.Caption := IntToStr(DaysBetween( StrToDate(Label1.Caption), StrToDate(Label2.Caption))); end; |
Re: Differenz berechnen
Bei mir kommt jetzt Inkompatiblke Typen nach dem
TagCount := Trunc(AktuellesDatum.Caption) Was ist denn nun schon wieder das Problem? :love: Danke UC |
Re: Differenz berechnen
Zitat:
|
Re: Differenz berechnen
Hallo,
Du musst auch AktuellesDatum, sowie auch AltesDatum mit StrToDateTime umwandeln. Grüsse, Daniel :hi: |
Re: Differenz berechnen
Zitat:
Grüsse, Daniel :hi: |
Re: Differenz berechnen
Sorry, da hab ich was vergessen, der code sollte so aussehen:
Delphi-Quellcode:
"Trunc" verlangr einen Fließkommawert, ich hab ihm aber einen String gegeben.
Source:
var TagCount: Integer; begin TagCount := Trunc(StrToDateTime(AktuellesDatum.Caption)) - Trunc(StrToDateTime(AltesDatum.Caption)); Label3.Caption := 'Es sind ' + IntToStr(TagCount) + ' Tage.'; end; So sollte es aber funktionieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:52 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-2025 by Thomas Breitkreuz