Datum im gewünschten Bereich

prototype0815

Aktives Mitglied
Hey folks,

mein Problem lässt sich schon etwas erahnen. Zur genauen Erklärung, ich habe sehr viele Dateien die ich auswerten muss. In diesen Dateien gibt es eine Textzeile inder das Datum (dd.MM.yyy) und die Uhrzeit steht (hh.mm.ss) hier als Beispiel eine solche Zeile...

#Datum;10.10.2014 ; 13:25:17;

Wie man sieht ist von Vorteil das alles schön mit Semikolons getrennt ist.

Der User meines Programms soll einen gewissen Datumsbereich zur Eingrenzung angeben können, und alle Dateien mit einem Datum das innerhalb dieses Bereichs liegt sollen ausgewertet werden.
z.B.

vom 01.04.2014 bis 30.11.2014

liegt der 22.07.2014 darin? - ja
liegt der 01.04.2014 darin? - ja
liegt der 30.11.2013 darin? - nein

gibt es eine Methode oder Klasse die das für mich erledigt? oder muss ich mir da selbst was bauen?

LG proto
 

prototype0815

Aktives Mitglied
Also die Date Klasse ist ja mal voll zum kotzen, wenn ich folgendes datum eingebe...
Date date = new Date(114, 00, 01);
bekomme ich den 01. Januar 2014 heraus. Das einzig gute an der Klasse wäre, das ich Daten mit den Methoden before() und after() ziemlich fix ein- bzw. ausschließen könnte.
Außerdem ist fast alles Deprecated und deshalb nicht sehr empfehlenswert zu benutzen.

Mal sehen ob ich mit Joda-Time mehr erfolg habe.
 

Thallius

Top Contributor
Was voll zum kotzen ist, um bei Deiner Sprache zu bleiben, ist Dein Datumsformat.

Benutze einfach das Standard Format

yyyy-MM-dd hh:mm:ss

und du kannst damit ohne jeden Aufwand einfach per Stringvergleich schaun ob ein Datum innerhalb zweier anderer Daten liegt oder nicht.

Da braucht man kein Framework.

Mir ist es echt schleierhaft, wie heutzutage intern immer noch mit solchen obskuren Datums-Konstrukten oder Formaten wie dd.MM.yyyy gearbeitet werden kann. Das macht man einfach nicht!

Gruß

Claus
 

prototype0815

Aktives Mitglied
Benutze einfach das Standard Format

yyyy-MM-dd hh:mm:ss

und du kannst damit ohne jeden Aufwand einfach per Stringvergleich schaun ob ein Datum innerhalb zweier anderer Daten liegt oder nicht.

Da braucht man kein Framework.

Mir ist es echt schleierhaft, wie heutzutage intern immer noch mit solchen obskuren Datums-Konstrukten oder Formaten wie dd.MM.yyyy gearbeitet werden kann. Das macht man einfach nicht!

da hat er recht
 

Joose

Top Contributor
Mir ist es echt schleierhaft, wie heutzutage intern immer noch mit solchen obskuren Datums-Konstrukten oder Formaten wie dd.MM.yyyy gearbeitet werden kann. Das macht man einfach nicht!

Diese "obskuren" Datumsformate sind für einen User leserlicher. Aber du hast Recht, sobald ein Datum vom User übernommen wird sollte es für interne Berechnungen etc. in ein "allgemein gültiges Format" umgewandelt werden.
 

prototype0815

Aktives Mitglied
Da beste Mittel zum Datumshandling ist wirklich (wie Joose schon schrieb) JodaTime.
Joda-Time - Java date and time API - Home

hab da die sources mal gezogen, ich weiss jetzt aber nicht wie ich das als Library importe...
hab es als projekt mal in Eclipse geöffnet und versucht es als .jar zu exportieren, bekomme aber sehr viele compiler errors und warnings. wenn ich davon eine .jar Datei hätte wäre es kein problem. Weiss einer von euch einen anderen Weg um aus sources ne .jar zu bekommen.
 

X5-599

Top Contributor
Nochmal eine Möglichkeit bei der man die eingelesene Zeile direkt überprüfen kann. Also ohne String splitten und die einzelnen Werte ermitteln zu müssen. Funktioniert natürlich nur wenn sichergestellt ist, dass die Datumszeile IMMER dasselbe Format hat:

Java:
public static void main(String[] args) throws ParseException
{
	String datum = "#Datum;10.10.2014 ; 13:25:17;";
	
	
	SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
	Date start = sdf.parse("01.04.2014");
	Date stop  = sdf.parse("30.11.2014");
	
	Date q = new SimpleDateFormat("'#Datum;'dd.MM.yyyy' ; 'hh:mm:ss';'").parse(datum);
	
	
	if(q.after(start) && q.before(stop))
		System.out.println("true");
	else
		System.out.println("false");
}
 

Thallius

Top Contributor
Ist aber nunmal unglaublich viel langasmer und unperformater als einfach zwei strings zu vergleichen.

Calender und DAtumsframeworks braucht es wirklich erst wenn du anfängst mit Daten und Zeiten zu rechnen oder verschiedene Zeitzonen berücksichtigen must.

Gruß

Claus
 

X5-599

Top Contributor
Mag sein. Aber du musst auch erstmal an dein Datumsformat yyyy-MM-dd rankommen. d.h. in diesem Fall müsstest du erstmal nach "." splitten. Dann Tag, Monat und Jahr korrekt aneinanderhängen. Und wenn dann noch die Uhrzeit mit dazukommen sollte muss das ähnlich behandelt werden. Da bin ich mir nicht wirklich sicher, ob das dann noch performanter ist... Müsste man testen.
 

Thallius

Top Contributor
DAs ist ja genau das was ich schon vorher geschrieben habe.

Intern in der App sollte immer mit yyyy-MM-dd gearbeitet werden werden. Dann brauchst du nur bei der Eingabe und der Ausgabe umformatieren und das ist in der Regel nicht zeitkritisch, denn du wirst in der Regel nicht 1000de von Daten ein- oder ausgeben wollen. Intern wirst du aber sicher öfter mal 1000de von Daten vergleichen wollen.

Gruß

Claus
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Build-Zeitpunt (Datum und Uhrzeit) irgendwie während der Laufzeit zugänglich machen..? Allgemeine Java-Themen 4
T Datum OHNE Uhrzeit Zeitzonen-übergreifend Allgemeine Java-Themen 4
W Datum anzeigen Allgemeine Java-Themen 10
MiMa Datum von zweistelliger Jahreszahl auf 4 Stellen aufrüsten? Allgemeine Java-Themen 4
MiMa Datum von String zu LocalDateTime Allgemeine Java-Themen 8
MiMa Wie sollte am besten ein Datum gespeichert werden? Allgemeine Java-Themen 8
Thallius Wie parse ich dieses Datum richtig? Allgemeine Java-Themen 5
G Excel Datum richtig auf der Konsole ausgeben Allgemeine Java-Themen 1
Hatsi09 Heutiges Datum Allgemeine Java-Themen 3
J Countdown für Datum und Uhrzeit Allgemeine Java-Themen 4
MiMa Das Datum Format ist mir unbekannt. Allgemeine Java-Themen 1
G Datum letzte 7 tage Allgemeine Java-Themen 6
A Datum und Uhrzeit in andere Zeitzone umrechnen Allgemeine Java-Themen 7
W Datum prüfen + zweistellig Allgemeine Java-Themen 11
M Datum Zeitdifferenz in Stunden umrechnen Allgemeine Java-Themen 4
E Datei anhand Datum identifizieren Allgemeine Java-Themen 3
Dechasa Java 8 - Datum vergleichen Allgemeine Java-Themen 5
M Datum umwandeln. Allgemeine Java-Themen 1
N Zeitabstand zwischen 2 Daten(Mehrzahl von Datum) Allgemeine Java-Themen 3
Bluedaishi Dateien löschen die älter als das aktuelle Datum sind Allgemeine Java-Themen 9
Bluedaishi String Array mit Datum und Uhrzeit String sortieren Allgemeine Java-Themen 6
M Aktuelle Systemzeit und Datum abfragen Allgemeine Java-Themen 2
M datei aufruf datum auslesen Allgemeine Java-Themen 5
R Datum in Excel Tabelle eintragen Allgemeine Java-Themen 6
T auf Valides Datum prüfen Allgemeine Java-Themen 12
E Datum in Kw umrechen Allgemeine Java-Themen 3
E Datum in String Allgemeine Java-Themen 4
K Datum+Uhrzeit in Millisekunden (long) umwandeln Allgemeine Java-Themen 7
C jollyday: prüfen, ob Datum = Feiertag Allgemeine Java-Themen 8
F Tests mit dynamischem Datum Allgemeine Java-Themen 2
K Datum ermitteln Allgemeine Java-Themen 4
N Datum auf 00:00:00 Uhr normalisieren Allgemeine Java-Themen 3
A einzelne Tage als Datum ausgeben Allgemeine Java-Themen 6
S Datum vergleichen - ohne Hilfsmittel Allgemeine Java-Themen 8
T Aktuelles Datum auslesen Allgemeine Java-Themen 2
T Datum um ein Tag reduzieren Allgemeine Java-Themen 6
S log4j, Datum in Fileappendern formatieren Allgemeine Java-Themen 4
V Apache POI Excel Datum auslesen Allgemeine Java-Themen 6
C Datum in Excel auslesen Allgemeine Java-Themen 13
J Funktion zu einer Uhrzeit/datum ausführen Allgemeine Java-Themen 4
M Datum/Uhrzeit in ein Textfeld schreiben Allgemeine Java-Themen 28
L Gregorian Calender falsches Datum Allgemeine Java-Themen 2
0 Datum in Java Date umwandeln Allgemeine Java-Themen 4
S String-Array nach Datum sortieren Allgemeine Java-Themen 10
J Datum und Zeit Allgemeine Java-Themen 4
B Jfree Chart mit Datum und Uhrzeit Allgemeine Java-Themen 6
B Datum jetzt vor einer Woche Allgemeine Java-Themen 5
B warum zählt der Kalender das Datum nicht weiter Allgemeine Java-Themen 2
V Datum vergleichen Allgemeine Java-Themen 7
C Datum erstellen für SQL Format Date Allgemeine Java-Themen 3
C Datum zurücksetzen Allgemeine Java-Themen 9
A String zu Datum parsen - SimpleDateFormat Problem Allgemeine Java-Themen 8
G File.listFiles nach Datum sortiert ausgeben Allgemeine Java-Themen 1
A Datum parsen Allgemeine Java-Themen 9
G Datum vergleichen Allgemeine Java-Themen 5
C Datum addieren Allgemeine Java-Themen 2
G Timestamp aus Datum Allgemeine Java-Themen 4
B Herausfinden ob Datum existiert Allgemeine Java-Themen 2
H2SO3- string mithilfe von .matches als datum identifizieren Allgemeine Java-Themen 4
Z Datum ohne Format-Kenntnisse parsen Allgemeine Java-Themen 5
C ArrayList nach Datum sortieren Allgemeine Java-Themen 7
G Datum um 1 Monat verschoben Allgemeine Java-Themen 3
J Umwandeln von einem String in ein Datum Allgemeine Java-Themen 8
M Aus Anzahl Tagen Datum ermitteln Allgemeine Java-Themen 8
D Email versand bei einem festgelegten Datum Allgemeine Java-Themen 11
T Mit Datum und Zeit rechnen Allgemeine Java-Themen 8
D Datum korrekt erkennen Allgemeine Java-Themen 27
M Datum einlesen aus jTextField Allgemeine Java-Themen 2
M Zukünftiges Datum Allgemeine Java-Themen 3
G Listener auf aktuelles Datum / Uhrzeit Allgemeine Java-Themen 2
G JDK 1.5 und das Datum Allgemeine Java-Themen 7
V Datum parsen Allgemeine Java-Themen 6
V Datei kopieren und Datum erhalten Allgemeine Java-Themen 2
M Datei Handling mit Datum Allgemeine Java-Themen 2
M Datum in Tabelle formatiert ausgeben Allgemeine Java-Themen 3
S Datum einer Datei online? Allgemeine Java-Themen 6
G Anzahl an Tagen auf Datum addieren Allgemeine Java-Themen 4
G Datum im Format yyyy-mm-dd erstellen Allgemeine Java-Themen 1
P Datum in einer DateComboBox setzen Allgemeine Java-Themen 7
MQue Datum in ComboBox setzen Allgemeine Java-Themen 9
J [Aenderungszeit Datei] nur Datum vergleichen Allgemeine Java-Themen 3
G Anzahl Tage in Datum umwandeln Allgemeine Java-Themen 13
M Datum nicht richtig geprüft, warum? Allgemeine Java-Themen 9
L datum nach dem kopiervorgang neu setzen? Allgemeine Java-Themen 2
R Datum in *.txt suchen und ersetzen Allgemeine Java-Themen 2
H Ein zufälliges Datum innerhalb eines Intervalles erzeugen Allgemeine Java-Themen 3
S POI Datum Allgemeine Java-Themen 2
G Datum einer Datei Allgemeine Java-Themen 8
J Datum auf Gültigkeit überprüfen Allgemeine Java-Themen 4
TheJavaKid Datum -> long Allgemeine Java-Themen 9
M Führende Null in einem Datum Allgemeine Java-Themen 3
C Datum-/Zeitdifferenz Allgemeine Java-Themen 5
F Datum gültig ? Allgemeine Java-Themen 9
G Datum konvertieren Allgemeine Java-Themen 14
G mysql datum umwandeln mittels jsp Allgemeine Java-Themen 10
F Datum mit anzahl tagen berechnen Allgemeine Java-Themen 3
F Datum in GregorianCalendar Allgemeine Java-Themen 3
G Datum Allgemeine Java-Themen 4
T Datum testen und Einsetzten Allgemeine Java-Themen 5
K Datum in ein anderes Format bringen Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben