tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
JA
ANTWORTEN
17
ZUGRIFFE
1345
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    smartin123 smartin123 ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    65
    Hi,

    ich möchte gerne ein Tool schreiben, bei dem man zwei DateTimes eingeben kann.
    Einen Startwert und einen Endwert:

    z.B.

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

    Für diese Zeitspanne benötige ich die einzelnen Monate. Immer von Beginn eines Monats, bis zum exakten Ende des Monats.

    Also in diesem Fall, folgendes:

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


    Hat jemand eine Idee, wie ich das realisieren könnte?

    Danke + Grüße
    smartin123
     

  2. #2
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo,

    das kannst du ganz einfach mit Jodatime realisieren:
    http://joda-time.sourceforge.net/

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  3. #3
    Avatar von HonniCilest
    HonniCilest HonniCilest ist offline Mitglied Platin
    Registriert seit
    Jun 2009
    Ort
    Java Insel
    Beiträge
    501
    Hi, überprüfst du auch die Eingabe? Dazu eignet sich gut das SimpleDateFormat.

    http://java.sun.com/j2se/1.4.2/docs/...ateFormat.html

    Oder auch Formatted Textfieds

    http://java.sun.com/docs/books/tutor...textfield.html
     
    Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
    ...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.

  4. #4
    smartin123 smartin123 ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    65
    vielen Dank euch beiden.

    @Tom: Habe mir joda-time angesehen. Ist wirklich super.
    Aber leider scheitere ich derzeit auch noch daran, wie man den jeweiligen Anfang und das Ende eines Monats bekommt?

    Das hochzählen der Monate ist mit joda-time einfach.

    Ich würde so vorgehen:
    - Man hat als input das Startdatum
    - Daraus sollte man das Enddatum des Monats berechnen können
    - dann Monat hochzählen
    - Anfang des Moants ausgeben
    - Ende des Monats ausgeben.
    usw...

    Ist das korrekt?

    Vielen Dank + Grüße
    smartin123
    Geändert von smartin123 (18.08.09 um 13:22 Uhr)
     

  5. #5
    smartin123 smartin123 ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    65
    Hi,

    gegeben ist ein Datum in Form des Datentyps: DateTime:
    2009-10-05 13:12:21.096

    Dazu möcht ich den Monatsanfang und Monatsende berechen.
    Hab leider keine Ahnung, wie das geht.

    Die APIs von Calender und Joda-Time hab ich mir genau angesehen,
    aber leider nix gefunden.

    Könnt ihr mir bitte weiterhlefen?

    Danke+Grüße
    smartin123
     

  6. #6
    Anime-Otaku Anime-Otaku ist offline Mitglied Brillant
    Registriert seit
    Aug 2005
    Ort
    Karlsruhe (Baden-Württemberg)
    Beiträge
    905
    Ein paar Zeilen unter deinem Thread wurde schon eine gleiche Frage gestellt.

    http://www.tutorials.de/forum/java/3...berechnen.html

    Riecht stark nach "Hausaufgaben". Da es das gleiche Datum ist, wie der andere sie hat.

    Hier dein anderer Beitrag dazu:

    http://www.java-forum.org/allgemeine...berechnen.html
    Geändert von Anime-Otaku (20.08.09 um 07:58 Uhr)
     
    Wäre super wenn ihr euren Code in dieser Form einfügt:
    Code java:
    1
    
    System.out.println("Hello World");
    [java]System.out.println("Hello World");[/java]
    Für erledigte Threads dürft ihr den "erledigt"-Button anklicken!
    Über Dank freut sich jeder, der euch geholfen hat - ein Klick auf "Danke" kostet ja nicht mal was
    Blog: http://javaeffective.wordpress.com/

  7. #7
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Ich finde sowas immer ziemlich unverschämt in verschiedenen Foren zu posten... Wenn man in einem gar keine Antwort bekommt, dann in ein andere zu gehen ist was anderes. Das ist doch aber keine Lotterie hier...
     

  8. #8
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Zitat Zitat von smartin123 Beitrag anzeigen
    gegeben ist ein Datum in Form des Datentyps: DateTime: 2009-10-05 13:12:21.096

    Dazu möcht ich den Monatsanfang und Monatsende berechen.
    Moin,

    leider verstehe ich Deine Fragestellung nicht so ganz was genau möchtest Du denn berechnen ? ? ?

    Die Differenz vom o. g. Datum zu bspw. 2009-10-01 00:00:00.000 ? ? ?

    Das würde etwa mit einem Calendar-Objekt und der Funktion "getTimeInMillis()" gehen!

    Aber spezifiziere bitte erstmal genau Deine Aufgabenstellung/Frage ...

    Gruß
    Klaus
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  9. #9
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Er ist zu faul sich die API anzuschauen... das ist das einzige Problem. Und gegen Faulheit hilft nur in Hintern treten und das geht im Forum schlecht...
     

  10. #10
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Zitat Zitat von zeja Beitrag anzeigen
    Und gegen Faulheit hilft nur in Hintern treten und das geht im Forum schlecht...
    Moin,

    stimmt - hab's gerade versucht und mir nur böse das Knie am Schreibtisch angeschlagen

    tschüss
    Klaus
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  11. #11
    smartin123 smartin123 ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    65
    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/3...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.
    Geändert von smartin123 (20.08.09 um 08:48 Uhr)
     

  12. #12
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Moin,

    Zitat Zitat von smartin123 Beitrag anzeigen
    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

    Zitat Zitat von smartin123 Beitrag anzeigen
    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
    Geändert von vfl_freak (20.08.09 um 08:58 Uhr) Grund: 2 kleine Tippfehler :(
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  13. #13
    smartin123 smartin123 ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    65
    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
    Geändert von smartin123 (20.08.09 um 09:06 Uhr)
     

  14. #14
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Notfalls hilft auch google:
    http://www.google.de/search?q=last+day+of+month+joda

    DateTime lastDayOfMonth = dt.dayOfMonth().withMaximumValue();
     

  15. #15
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    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
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
                                                                                                                           [LIST=1][*][*][*][*][*][*][*][*][*][*][/LIST]                        public static void main([URL="http://www.google.com/search?hl=en&q=allinurl%3AString+java.sun.com&btnI=I%27m%20Feeling%20Lucky"]String[/URL][] args) throws [URL="http://www.google.com/search?hl=en&q=allinurl%3AException+java.sun.com&btnI=I%27m%20Feeling%20Lucky"]Exception[/URL] 
     
    {
     
            [URL="http://www.google.com/search?hl=en&q=allinurl%3ADate+java.sun.com&btnI=I%27m%20Feeling%20Lucky"]Date[/URL] cDate = new [URL="http://www.google.com/search?hl=en&q=allinurl%3ADate+java.sun.com&btnI=I%27m%20Feeling%20Lucky"]Date[/URL]();
     
            [URL="http://www.google.com/search?hl=en&q=allinurl%3ACalendar+java.sun.com&btnI=I%27m%20Feeling%20Lucky"]Calendar[/URL] calendar = [URL="http://www.google.com/search?hl=en&q=allinurl%3ACalendar+java.sun.com&btnI=I%27m%20Feeling%20Lucky"]Calendar[/URL].getInstance();
     
            calendar.setTime(cDate);
     
            calendar.set([URL="http://www.google.com/search?hl=en&q=allinurl%3ACalendar+java.sun.com&btnI=I%27m%20Feeling%20Lucky"]Calendar[/URL].DAY_OF_MONTH, calendar.getActualMinimum([URL="http://www.google.com/search?hl=en&q=allinurl%3ACalendar+java.sun.com&btnI=I%27m%20Feeling%20Lucky"]Calendar[/URL].DAY_OF_MONTH));
     
            [URL="http://www.google.com/search?hl=en&q=allinurl%3ASystem+java.sun.com&btnI=I%27m%20Feeling%20Lucky"]System[/URL].out.println(calendar.getTime());
     
            calendar.set([URL="http://www.google.com/search?hl=en&q=allinurl%3ACalendar+java.sun.com&btnI=I%27m%20Feeling%20Lucky"]Calendar[/URL].DAY_OF_MONTH, calendar.getActualMaximum([URL="http://www.google.com/search?hl=en&q=allinurl%3ACalendar+java.sun.com&btnI=I%27m%20Feeling%20Lucky"]Calendar[/URL].DAY_OF_MONTH));
     
           [URL="http://www.google.com/search?hl=en&q=allinurl%3ASystem+java.sun.com&btnI=I%27m%20Feeling%20Lucky"]System[/URL].out.println(calendar.getTime());
     
        }



    Gruß
    Klaus
    Geändert von vfl_freak (20.08.09 um 09:12 Uhr) Grund: oops, das mit Einfügen der Source war wohl nix - sorry
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

Ähnliche Themen

  1. Wöchentliche bzw. monatliche Playlist?
    Von Wahookah im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 21.09.09, 14:08
  2. [Excel] Zeitspannen Diagramm
    Von HavocThe2nd im Forum Office-Anwendungen
    Antworten: 1
    Letzter Beitrag: 26.03.09, 20:45
  3. [C] Pi berechnen
    Von Azi im Forum C/C++
    Antworten: 23
    Letzter Beitrag: 09.12.07, 14:47
  4. Soundlänge berechnen mit PHP
    Von Meccan im Forum PHP
    Antworten: 6
    Letzter Beitrag: 29.09.05, 15:43
  5. monatliche Probleme
    Von AvS im Forum Netzwerke
    Antworten: 6
    Letzter Beitrag: 07.05.02, 00:02