pawlos
Goto Top

Datumsauswertung nach der Bankmethode

Hallo Zusammen,

ich würde gerne ein Programm schreiben, welches mir erlaubt eine Differenz zwischen zwei Datums auszugeben. Das Problem dabei ist, dass diese Ausgabe nach der Bankmethode erfolgen muss. D.H. es gibt nur 30 Tage im Monat.
Weiterhin brauche ich diese Differenz auch nur in Tagen. D.H. ich gebe das datum ein von-bis und bekomme nur die Tage heraus.
Da ich im Moment im Internet noch nichts brauchbares gefunden habe, wollte ich gerne Fragen ob solch ein Vorhaben in Java überhaupt möglich wäre bzw. ohne großen Aufwand realisierbar ist?

Ich Danke euch im voraus für eure Hilfe!

Viele Grüße
Pawlos

Content-ID: 78278

Url: https://administrator.de/contentid/78278

Ausgedruckt am: 20.11.2024 um 00:11 Uhr

Netzheimer
Netzheimer 16.01.2008 um 10:30:26 Uhr
Goto Top
Ein Ansatz:

Datum 2 - Datum 1
Ergebnis in Monaten darstellen (30,25 Tage im Durchschnitt)

Monate in Modulo 12 - gibt irgendwas zwischen 0 und 11
Ergebnis +1
neues Ergebnis mal 30 + Tage laufendes Monat

Aber den Syntax für Java beherrsche ich leider nicht, sorry.
AndreasHoster
AndreasHoster 16.01.2008 um 11:16:14 Uhr
Goto Top
Das ist in jeder Programmiersprache möglich und der Aufwand hält sich auch in Grenzen.
Tage = (Jahr1 - Jahr2) * 360;
Tage += (Monat1 - Monat2) * 30;
if(Tag1>30) Tag1=30; // Tage größer 31 gibts bei der Bank nicht
if(Tag2>30) Tag2=30; // Tage größer 31 gibts bei der Bank nicht
Tage += Tag1 - Tag2;
Tage = java.lang.Math.abs(Tage); // (damit immer positive Werte rauskommen)
Die Version geht jetzt davon aus, das Du bei 01.01.2000 bis 02.01.2000 auch einen Tag herausbekommen willst. Wenn Du die Tage exklusive die Grenztage oder komplett inklusive der Grenztage haben willst, muß man halt noch 1 Tag abziehen oder dazuaddieren, wobei bei exklusive der Grenztage noch die Frage wäre, was man macht, wenn derselbe Tag bei von und bei bis eingegeben wurde.
Pawlos
Pawlos 17.01.2008 um 07:49:56 Uhr
Goto Top
Hallo,

nun wenn man bei von und bis das gleiche Datum angibt. Dann soll mir das Programm einen Tag ausgeben.
Aber danke die Idee ist gut. Vielen Dank für die Hilfe.

Viele Grüße
Pawlos