AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Monate berechnen zwischen zwei datums
Thema durchsuchen
Ansicht
Themen-Optionen

Monate berechnen zwischen zwei datums

Ein Thema von peter12 · begonnen am 29. Apr 2005 · letzter Beitrag vom 1. Mai 2005
Antwort Antwort
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.645 Beiträge
 
#1

Re: Monate berechnen zwischen zwei datums

  Alt 29. Apr 2005, 22:35
JUNGS! Alle beide! Reisst Euch gefälligst zusammen.

1) Anzahl an Beiträgen ist keineswegs ein Kriterium für Wissen
2) Das hat HIER überhaupt nichts zu suchen
3) Das Problem ist bekannt, darüber braucht nicht diskutiert zu werden
4) Das Landet gleich bei einem Mod wenn ihr Euch weiter so aufführt

So, und nun zur Problemlösung:

Schritt 1:
Drösele beide Daten nach Tag, Monat und Jahr auf.
Dann vergleiche erstmal die Jahre. Sind diese Unterschiedlich nehme die Differenz dazwischen. Ziehe nun noch eins ab und multipliziere mit 12. Damit hast Du erstmal die Monate der jahresdifferenz. Das eine Jahr wird abgezogen, weil das erste Jahr nicht ungebdingt voll ist (im Beispiel ist es da, aber egal).

Dann rechnest Du weiter: 13 - Monat im Geburtstag (ist die Anzahl der begonnen Monate im ersten nicht unbedingt vollen Jahr) das zum vorherigen dazuaddieren. Dann rechnest Du noch die Monatszahl des zweiten Datums dazu.

Beispiel: 17.01.1979 (mein Geburtstag) und heute 29.04.2005
Differenz der Jahre: 2005 - 1979 = 26.
Minus eins, mal 12: 26-1 = 25; 25 * 12 = 300
13 - Monat im Gebtag. und zur Summe addieren: 13 - 1 = 12; 300 + 12 = 312
Aktueller Monat aufaddieren: 312 + 4 = 316

==> Ich bin 316 Monate alt. Prüfung: 316 / 12 = 26,33333
Ich bin 26, stimmt schonmal und 12 durch 3,333 = 3,6 Monate. 3,6 Monate sind seit Januar auch schon vergangen ==> Passt also.

Wenn die beiden Jahreszahlen Identisch sind ist es eh einfacher: Monat im Vergleichsdatum - Monat im Geburtstag -1 => Ferdsch.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:56 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