![]() |
AW: Datumsdifferenz berechnen?
Eine methode um die Tage zwischen zwei verschiedene Datums zu berechnen ist, die zwei Datums zuerst um zu setzen in Julianischer Datum. Dazu sind auf dem Internet verschiedene Algoritmen zu finden.
|
AW: Datumsdifferenz berechnen?
Zitat:
|
AW: Datumsdifferenz berechnen?
Ich hatte heute Morgen nicht viel Zeit, also jetzt ein Vorbild zur Berechnung Julianischer Datum.
Die Procedure JulianDate braucht als Input: Jahr, Monat und Tag. Der Tag muss aber dezimal eingegeben werden, dazu dient die Function DHMStoDReal. Naturlich kann mann die Berechnung auch zuruckarbeiten, dazu dient die Procedure DateFromJD, die den Tag wieder in Dezimal abliefert. Um dies wieder um zu setzen in Tag, Stunden, Minuten und Sekunden bracht mann DRealToDHMS. (Code entfernt) |
AW: Datumsdifferenz berechnen?
Zitat:
Ob es nun ein Julian-Date ist, oder ein TDateTime oder ein Unit-Timestamp, ist dabei egal. Das Ergbnis sind zwei einzelne Zahlen, mit denen man direkt rechnen kann. Und zum Schluß muß man das Ergebnis eventuell nur noch in eine Zeiteinheit umrechnen, welche man benötigt. Für viele Datums-Zeitformate gibt es im Delphi schon fertige Umrechnungsfunktionen. Man kann das natürlich auch manuell direkt über die drei Werte Jahr/Monat/Tag berechnen, aber muß da natürlich die Anzahl der Tage pro Monat und die Schaltjahre entsprechend berücksichtigen. |
AW: Datumsdifferenz berechnen?
Zitat:
Delphi-Quellcode:
function DateTimeToJulianDate(const AValue: TDateTime): Double;
var LYear, LMonth, LDay: Word; begin DecodeDate(AValue, LYear, LMonth, LDay); Result := (1461 * (LYear + 4800 + (LMonth - 14) div 12)) div 4 + (367 * (LMonth - 2 - 12 * ((LMonth - 14) div 12))) div 12 - (3 * ((LYear + 4900 + (LMonth - 14) div 12) div 100)) div 4 + LDay - 32075.5 + Abs(Frac(AValue)); end; |
AW: Datumsdifferenz berechnen?
Zitat:
Es geht hier ums Selbermachen! @Sheila: Nichts für ungut, aber dieser "Algorithmus ist overkill für die gestellte Aufgabe (Er soll in die Zukunft rechnen, nicht zurück ins 16. Jahrhundert), außerdem strotzt er von Antipatterns. Zu gebrauchen ist er somit allenfalls als schlechtes Beispiel. |
AW: Datumsdifferenz berechnen?
Zitat:
Gruß K-H |
AW: Datumsdifferenz berechnen?
Ach, ich versteh' schon, nicht 'danke Sheila fur die Muhe' oder zumindest 'wilkommen auf's Forum', nein, sofort abschiessen. Na dann, viel Spass mit dem Algoritmus, ich werde mir wohl zweimal bedenken eh ich hier wieder etwas schreibe. Tsk.
|
AW: Datumsdifferenz berechnen?
Hier wird nicht (ab)geschossen! Ganz bestimmt nicht, wenn sich jemand um Hilfestellung bemüht.
@Sheila: Bitte nicht traurig oder gar böse sein. Das mit dem 'Willkommen im Forum' hole ich jetzt nach! Der wesentliche Punkt ist jedenfalls Zitat von himitsu #14 Zitat:
Günther |
AW: Datumsdifferenz berechnen?
Also als Programmieranfänger könnte ich mit einer für mich unverständlichen Umrechnung in eine Zahl nun überhaupt nichts anfangen. Also frage ich mich, inwiefern das hier zielführend ist.
Ja gut, der Fragesteller hat sich bisher auch nicht mehr gemeldet, insofern könnt ihr hier auch einfach weitermachen. :roll: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:03 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