ERLEDIGT
JA
JA
ANTWORTEN
17
17
ZUGRIFFE
1345
1345
EMPFEHLEN
-
17.08.09 18:57 #1
- 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
-
17.08.09 20:09 #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ß TomJava 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
-
18.08.09 09:32 #3
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.htmlJeder Fehler, aus dem wir lernen, ist ein Erfolg...
...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.
-
18.08.09 13:18 #4
- 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
smartin123Geändert von smartin123 (18.08.09 um 13:22 Uhr)
-
19.08.09 22:40 #5
- 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
-
20.08.09 07:54 #6
- 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.htmlGeändert von Anime-Otaku (20.08.09 um 07:58 Uhr)
Wäre super wenn ihr euren Code in dieser Form einfügt:
[java]System.out.println("Hello World");[/java]Code java:1
System.out.println("Hello World");
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/
-
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...
-
20.08.09 08:06 #8
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ß
KlausEs 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 !!
-
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...
-
20.08.09 08:19 #10Es 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 !!
-
20.08.09 08:40 #11
- 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)
-
20.08.09 08:57 #12
Moin,
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
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 :
Aber was genau heißt das ? ?Für diese Zeitspanne benötige ich die einzelnen Monate. Immer von Beginn eines Monats, bis zum exakten Ende des Monats.
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ß
KlausGeä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 !!
-
20.08.09 09:03 #13
- 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.
AdieuGeändert von smartin123 (20.08.09 um 09:06 Uhr)
-
Notfalls hilft auch google:
http://www.google.de/search?q=last+day+of+month+joda
DateTime lastDayOfMonth = dt.dayOfMonth().withMaximumValue();
-
20.08.09 09:10 #15
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ß
KlausGeä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
-
Wöchentliche bzw. monatliche Playlist?
Von Wahookah im Forum Flash PlattformAntworten: 1Letzter Beitrag: 21.09.09, 14:08 -
[Excel] Zeitspannen Diagramm
Von HavocThe2nd im Forum Office-AnwendungenAntworten: 1Letzter Beitrag: 26.03.09, 20:45 -
[C] Pi berechnen
Von Azi im Forum C/C++Antworten: 23Letzter Beitrag: 09.12.07, 14:47 -
Soundlänge berechnen mit PHP
Von Meccan im Forum PHPAntworten: 6Letzter Beitrag: 29.09.05, 15:43 -
monatliche Probleme
Von AvS im Forum NetzwerkeAntworten: 6Letzter Beitrag: 07.05.02, 00:02





Zitieren




Login





