Monatliche Zeitspannen berechnen

Hi,

um ein paar entsprchenden Anmerkungen zu kommentieren:

@Anime-Otaku
Wie du an der Forumulierung erkennen kannst, ist der Beitrag von java-forum von mir. :) Der Thread http://www.tutorials.de/forum/java/345671-monatliche-zeitspannen-berechnen.html kam auch von mir. :)
Es handelt sich aber um eine andere Fragestellung. Du hast zwar recht, das ist das Endziel, was ich erreichen möchte. Aber leider fehlt mir bisher dazu, wie man eben ein Monatsanfang und Monatsende berechnet.

Was soll ich machen wenn sowohl tutorials.de und java-forum.de nicht weiterhelfen kann? In ein drittes Forum posten?
Ich programmiere seit einigen Jahren in Java. Was macht ihr denn, wenn ihr nicht mehr weiterkommt?
Und auch Herr Google nicht weiterhelfen kann?

@zeja
Lieber zeja, ich kenne dich als sehr kompetenten hilfsbereiten Moderator dieses Forums und habe von dir schon einige Male hilfe bekommen. Bin schon länger dabei :)
Wo ist es verboten, die gleiche Fragestellung in mehren Foren zu stellen?
Wenn man eine Antwort, auf eine nicht geklärte Frage schnellstmöglich erhalten möchte, kann man diese Strategie durchführen. Man kann aber auch sich auf ein Forum verlassen, Wochen warten und sich ärgern, wenn man keine weiterhelfende Antwort erhalten hat?
Wie du an meinen historischen Beiträgen sehen kannst, bin ich jedem sehr dankbar für die gegebenen Tipps.
Somit ist die Strategie sich aus mehren Foren Tipps zu holen, unverschämt?
Wenn ja, dann verstehe ich es nicht und bitte dich, das zu erläutern.
Und zu faul bin ich sehr wohl nicht, wenn man seit Wochen versucht, dieses Problem zu lösen, dann ist die Unterstellung der Faulheit nicht angebracht.
Natürlich hab ich mir nicht "nur" die API angeschaut. Ich arbeite in diesem Bereich, von dem her beschäftige ich mich mehre Stunden mit diesem Thema täglich.


Nun, die Fragestellung ist immer noch offen, und bisher konnte mir keiner Helfen oder irgendeinen Tipp geben, Schade.

Ein Kommentar noch zu Schluss, schade, dass ich hier so negativ hingestellt werde, ich möchte durch "nur" wissen.
wie man Monatsanfang bzw. Monatsende berechnet, wenn man als Input nur ein Datum erhält, berechnet.
Wenn das bekannt wäre, könnte man alle Threads schließen.
 
Zuletzt bearbeitet:
Moin,

Somit ist die Strategie sich aus mehren Foren Tipps zu holen, unverschämt?

Nein, das ist es ganz sicher nicht - es ging hier auch mehr darum, die gleiche Aufgabenstellung in mehreren Unterform hier auf dieser Seite zu posten ;)

Nun, die Fragestellung ist immer noch offen, und bisher konnte mir keiner Helfen oder irgendeinen Tipp geben, Schade.

Ein Kommentar noch zu Schluss, schade, dass ich hier so negativ hingestellt werde, ich möchte durch "nur" wissen.
wie man Monatsanfang bzw. Monatsende berechnet, wenn man als Input nur ein Datum erhält, berechnet.
Wenn das bekannt wäre, könnte man alle Threads schließen.

Es geht hier sicher niemanden darum, Dich (oder sonst wen) negativ hinzustellen ... aber mir ist auch jetzt (nach dem Lesen des doppelten Posts) immer noch nicht wirklich klar, was Du genau meinst, wenn Du sagst: "Monatsanfang bzw. Monatsende berechnen"
Im anderen Post schreibst Du :
Für diese Zeitspanne benötige ich die einzelnen Monate. Immer von Beginn eines Monats, bis zum exakten Ende des Monats.

Aber was genau heißt das ? ?
Möchtest Du bei einem Startdatum (bspw. Heute) die Anzahl Sekunden/Minuten/Stunden/Tage vom 1.8.09 0 h bis zum 31.8.09 24 h berechnet haben?

Erkläre das einfach genauer, dann können wir auch Tipps/Lösungsmöglichkeiten aufzeigen (siehe etwa meine erster Post hierzu) !

Gruß
Klaus
 
Zuletzt bearbeitet:
Ich erkläre euch mal den Unterschied der Threads:

----------------------------------------------------------------------------------------------------
1. Thread
Ausgangsziel:

gegeben zwei DateTimes:


Start: 2009-08-17 18:41:18.041
End: 2009-10-05 13:12:21.096

Lösung:

Monat1:
Beginn 2009-08-17 18:41:18.041
Beginn 2009-08-31 24:00:00.000
---------------------------------------
Monat2:
Beginn 2009-09-01 00:00:00.000
Beginn 2009-10-31 24:00:00.000
---------------------------------------
Monat3:
Beginn 2009-10-01 00:00:00.000
End: 2009-10-05 13:12:21.096

Daraus soll die einzelnen Monate berechnet werden.

------------------------------------------------------------------------------------------------------
2. Thread

geben ein DateTime: 2009-08-17 18:41:18.041

Wenn man daraus den Monatsanfang und Monatsende berechnen könnte:

Lösung:
Monatsanfang= 2009-08-01 00:00:00.000
Monatsende= 2009-09-31 00:00:00.000

-->
Dann könnte man daraus leicht die Fragestellung im 1. Thread lösen.

------------------------------------------------------------------------------------------------------

Joda-Time war schon ein super Hinweis vom Tom. Aber leider komm ich
derzeit nicht auf Monatsanfang und Monatsende.

Hätte nicht gedacht, dass das so kompliziert ist. Aber ist eigentlich auch logisch,
wenn man nichts in allen bekannten Foren und Google findet, dann ist es nicht trivial.

So ich muss in die Arbeit und mich wieder mit diesem ganannten Problem herumschlagen.

Adieu
 
Zuletzt bearbeitet:
Moin,

hmm, wenn ich also richtig sehe, möchtest Du in diesem Thread 'nur' die beiden Zeitpunkte haben, oder wie

Dazu hast Du doch im "java-org"-Forum schon einen guten Lösungsansatz bekommen, oder nicht :confused:
Java:
                        public static void main(String[] args) throws Exception 

{

        Date cDate = new Date();

        Calendar calendar = Calendar.getInstance();

        calendar.setTime(cDate);

        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));

        System.out.println(calendar.getTime());

        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));

       System.out.println(calendar.getTime());

    }



Gruß
Klaus
 
Zuletzt bearbeitet:
so, neuer Versuch :-(

Java:
public static void main( String[] args) throws Exception
{
    Date cDate = new Date();
    calendar = Calendar.getInstance();
    calendar.setTime( cDate );
    calendar.set( Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH) );
    System.out.println( calendar.getTime() );
    calendar.set( Calendar.DAY_OF_MONTH, calendar.getActualMaximum( Calendar.DAY_OF_MONTH) );
    System.out.println( calendar.getTime() );
}

Du musst doch - ausgehend vom aktuellen Monat, den Du über Calendar-Objekt bestimmen kannst, nur die gewünschten Anfangs-/Endtage setzen und dabei die Zeit entsprechend auf 00:00 h oder 23:59 h !!

BTW:
Das Datum "31.08.2009 24:00:00 h" gibt es nicht ! !
Allenfalls "31.08.2009 23:59:59 h" ! ! !
"31.08.2009 24:00:00 h" ist offiziell "1.09.2009 00:00:00 h" (vgl. Bundeszeitgesetz - ZeitG)

Gruß
Klaus
 
Vielen Dank Klaus und zeja, ihr habt sehr weitergeholfen.
Jetzt funktioniert alles. Sorry für meine anfangs unverständlichen "Doppel"-Threads.

Leute, die wo das gleiche Problem haben, die kommen jetzt hoffentlich gleich auf eine Antwort.

Beste Grüße
Martin
 
Zuletzt bearbeitet:
Zurück