JodaTime Day week

PollerJava

Top Contributor
Hallo,

ich habe ein spezielles Calendar- Problem. Ich habe ein Intervall, das z.B. so aussieht:

Code:
[17.08.2015T08:00  18.08.2015T08:00  19.08.2015T08:00  21.08.2015T08:00  22.08.2015T08:00]

Es fehlen also der Donnerstag und der Sonntag. Das ist mein bestehendes Intervall, welches so vorgegeben ist.
Jetzt hab ich irgendein Datum, z.B. den 04.09.2015 (das ist ein Freitag).

Mein Ziel ist jetzt, zu schauen, ob in meinem Intervall auch ein Freitag ist - in diesem Fall ist ein Freitag vorhanden, deshalb
ist das Ergebnis der 21.08.2015T08:00 - also der 4te Eintrag des Intervalls.

Meine Frage wär jetzt, muss ich jetzt mein ganzes intervall durchlaufen und dann vergleichen, ob die "Tagesnamen" gleich sind oder gibt es
dafür eine bessere Lösung?

Danke!
Poller
 

Times

Bekanntes Mitglied
Also ich würde sagen das du entweder wie du vorgeschlagen hast die Tagesnamen vergleichst oder:

Die Differenz in Tagen zwischen 2 Tagen berechnen, Modulo 7 muss 0 ergeben damit es derselbe Tag ist. (DifferenzInTagen % 7 == 0)

Was von den beiden nun schneller ist kann ich dir nichmal sagen - kannst du ja ausprobieren - aber darüber iterieren musst du aufjedenfall würde ich sagen.
 

RalleYTN

Bekanntes Mitglied
Was du machen kannst ist all deine Intervallwerte und das Datum, welches du vergleichen willst so umzuvormulieren: "01.01.2000". Also es irgendwie in das Format bringen. und dann nutzt du das SimpleDateFormat mit der deutschen Local. Wenn du das mit alles Werten gemacht hast, dann kannst du direkt abfragen welcher Wochentag es ist. "Montag", "Dienstag" usw. Allerdings musst du vorher noch das ganze in ein Date Objekt stopfen und das Date Objekt dann in ein Objekt der Klasse Calender.

Beispiel:
Java:
String date1 = "01.01.2000";
String date2 = "12.28.2403";
Calender mydate = new GregorianCalender();
Date date = new SimpleDateFormat("dd.MM.yyyy", Locale.GERMAN).parse(date1);
mydate.setDate(date);
String weekday1 = myday.get(Calender.DAY_OF_WEEK);
date = new SimpleDateFormat("dd.MM.yyyy", Locale.GERMAN).parse(date2);
mydate.setDate(date);
String weekday2 = myday.get(Calender.DAY_OF_WEEK);

if(weekday1.equals(weekday2)) {
    System.out.println("Selber Wochentag!")
}
Ist jetzt nur auf die Schnelle da hingeklatschter Code. Soll aber auch nur mal ein paar Möglichkeiten zeigen ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P jodaTime Berechnung Geburtstag Allgemeine Java-Themen 1

Ähnliche Java Themen


Oben