Wochentags- und Zeitabfrage

Xandaros

Mitglied
Hallo!
In einer Konfigurationsdatei werden mehrere Wochentage und zu jedem festgelegten Wochentag ein Zeitraum festgelegt.

Jetzt möchte ich überprüfen, ob die aktuelle Zeit (Uhrzeit des ausführenden Systems) in diesen Bereich fällt.

Das Überprüfen des Wochentags sollte mit Calendar kein Problem darstellen, jedoch tu ich mich schwer damit, festzustellen, ob die aktuelle Uhrzeit in diesen Bereich fällt.

Gibt es da eine "einfache" Lösung oder muss ich das anhand der Stunden/Minuten Werte, die ich vom Calendar Objekt bekomme selbst machen?
 

faetzminator

Gesperrter Benutzer
Ich würd da einfach beide Felder überprüfen.
Java:
if(hour >= minHours && min >= minMins && hour <= maxHours && min <= maxMins) {
    // ...
}
 

Michael...

Top Contributor
Die Klasse Calendar bietet u.a. eine Methode an (siehe API Dokumentation) um das Datum in Millisek. zu wandeln, die so erhaltenen long Werte kann man dann recht einfach mit den gewohnten mathematischen Operatoren vergleichen.
 
S

SlaterB

Gast
@Michael...
Calendar kann man auch schon vergleichen, aber dann müsste man erstmal aus den Konfigurationsstunden Calendar-Objekte zum heutigen Tage erzeugen..,

die separate Library Joda-Time kann da vielleicht mehr helfen, Zeit-Objekte unabhängig vom Datum erstellen
 

Xandaros

Mitglied
Ich würd da einfach beide Felder überprüfen.
Java:
if(hour >= minHours && min >= minMins && hour <= maxHours && min <= maxMins) {
    // ...
}

Das würde bei einem Startpunkt von z.B. 00:15 und einer aktuellen zeit von 01:00 aber false zurückgeben... An so etwas hatte ich zuerst auch gedacht :D

@SlaterB: Ich möchte nur ungern externe libraries verwenden, da ich ein Plugin schreibe und es nicht zu groß werden sollte. Und die library extern speichern ist mehr Aufwand für den Anwender...

@Michael...:
Wenn ich ein Calendar Objekt mit Calendar.getInstance() erzeuge, bekomme ich doch eines vom heutigen Tage, nicht?
Kann ich dann nicht Stunde und Minute setzen und es dann vergleichen? (Die Idee kam mir gar nicht :O)
 

Michael...

Top Contributor
@Michael...:
Wenn ich ein Calendar Objekt mit Calendar.getInstance() erzeuge, bekomme ich doch eines vom heutigen Tage, nicht?
Kann ich dann nicht Stunde und Minute setzen und es dann vergleichen? (Die Idee kam mir gar nicht :O)
jupp, Calendar besitzt eine set(Field, Value) Methode mit der man ein Datum einstellen kann.
Beispiel um das Calendar Objekt auf März "einzustellen"
Java:
calendar.set(Calendar.MONTH, 2);
 
S

SlaterB

Gast
Das würde bei einem Startpunkt von z.B. 00:15 und einer aktuellen zeit von 01:00 aber false zurückgeben... An so etwas hatte ich zuerst auch gedacht :D
ein bisschen intelligenter kann man schon vorgehen, dürfte klar sein ;),

entweder so vergleichen oder Calendar-Objekte initialisieren und die vergleichen,
da musst du dich entscheiden
 

faetzminator

Gesperrter Benutzer
Ups ;) sollte aber auch eher so ein Bisschen Pseudocode sein. Aber es ist wohl so oder so einfacher, als ein neues Calendar Objekt zu erstellen und abzufüllen.
 
S

SlaterB

Gast
du irrst dich nicht, vergisst aber genau zu erklären, für was das relevant ist,
niemand hat von einfachen Calendar-Objekten gesprochen, wenn dann natürlich immer befüllt mit den Werten aus der Konfigurationsdatei
 

Ähnliche Java Themen

Neue Themen


Oben