Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Mit 2 Datumswerten rechnen (https://www.delphipraxis.net/195597-mit-2-datumswerten-rechnen.html)

Luca Haas 13. Mär 2018 09:51

Mit 2 Datumswerten rechnen
 
Hi Leute, ich habe 2 DateTimepicker, mit denen ich mir einen Startwert und einen Endwert als Datum in meine Tabelle speichere.
Jetzt würde ich gerne wissen ob es möglich ist herauszufinden, ob man diese Werte auch subtrahieren kann, um die Dauer zwischen den beiden Werten zu erhalten. Ich bekomme bei meinen Rechnungen leider nur den 31.12.1899, anstatt der Zahl 1. Kann mir jemand sagen, wie man dieses Datum in eine Zahl ändert?

hannesgw 13. Mär 2018 09:58

AW: Mit 2 Datumswerten rechnen
 
Schau dir mal die function DaysBetween in der Unit System.DateUtils an

DeddyH 13. Mär 2018 09:58

AW: Mit 2 Datumswerten rechnen
 
Schau mal in die Unit DateUtils, da gibt es einige Funktionen dafür, z.B. SecondsBetween.

Luca Haas 13. Mär 2018 10:05

AW: Mit 2 Datumswerten rechnen
 
Danke ihr beiden, damit klappts :thumb:

himitsu 13. Mär 2018 11:28

AW: Mit 2 Datumswerten rechnen
 
Zitat:

Zitat von Luca Haas (Beitrag 1395921)
Ich bekomme bei meinen Rechnungen leider nur den 31.12.1899, anstatt der Zahl 1. Kann mir jemand sagen, wie man dieses Datum in eine Zahl ändert?

Die Rechnung ist zwar richtig, aber deine Auswertung ist falsch.

DateToStr und Co. geht halt auf ein Datum
und nicht auf ein Intervall.

Delphi-Referenz durchsuchenSystem.TDateTime : 0 ist da eben der 30. Dezember 1899

Intervall:
Delphi-Quellcode:
IntToStr(Trunc(Ergebnis)) + ' Tage und ' + TimeToStr(Ergebnis)

Uwe Raabe 13. Mär 2018 11:43

AW: Mit 2 Datumswerten rechnen
 
Alternativ wäre auch der Einsatz von TTimeSpan eine Option.

jobo 13. Mär 2018 12:50

AW: Mit 2 Datumswerten rechnen
 
Wenn die Daten sowieso aus einer Tabelle kommen, kannst Du die Differenz auch per SQL Abfrage berechnen lassen, Datum1-Datum2, kommt etwas auf die Datenbank an.
Wenn diese Differenz nur vereinzelt benötigt wird, macht es allerdings nicht unbedingt Sinn, das von der Datenbank zu erfragen.


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