So bestimmen Sie ein Datum zwischen Freitag und Sonntag der Woche zu einer bestimmten Zeit
Ich versuche, mit Java ein aktuelles Datum und eine Uhrzeit zwischen Freitag, 17:42 Uhr und Sonntag, 17:42 Uhr der Woche zu ermitteln.
Im Moment mache ich das mit wirklich wirklich schlechtem Codeblock. Es war eine eilige Lösung. Jetzt bin ich refactoring, aber ich konnte keine Methode in Joda oder etc. finden.
Irgendwelche Ideen? Vielen Dan
private final Calendar currentDate = Calendar.getInstance();
private final int day = currentDate.get(Calendar.DAY_OF_WEEK);
private final int hour = currentDate.get(Calendar.HOUR_OF_DAY);
private final int minute = currentDate.get(Calendar.MINUTE);
if (day != 1 && day != 6 && day != 7) {
if (combined != 0) {
return badge == 1;
} else {
return badge == product;
}
} else {
if (day == 6 && hour > 16) {
if (hour == 17 && minute < 43) {
if (combined != 0) {
return badge == 1;
} else {
return badge == product;
}
} else {
return badge == 0;
}
} else if (day == 6 && hour < 17) {
if (combined != 0) {
return badge == 1;
} else {
return badge == product;
}
} else if (day == 1 && hour > 16) {
if (hour == 17 && minute < 43) {
return badge == 0;
} else {
if (combined != 0) {
return badge == 1;
} else {
return badge == product;
}
}
} else {
return badge == 0;
}
}
Ich habe diese Lösung mit Hilfe von @MadProgrammer und @Meno Hochschild @ benutz
Methode
public static boolean isBetween(LocalDateTime check, LocalDateTime startTime, LocalDateTime endTime) {
return ((check.equals(startTime) || check.isAfter(startTime)) && (check.equals(endTime) || check.isBefore(endTime))); }
Verwendung
static LocalDateTime now = LocalDateTime.now();
static LocalDateTime friday = now.with(DayOfWeek.FRIDAY).toLocalDate().atTime(17, 41);
static LocalDateTime sunday = friday.plusDays(2).plusMinutes(1);
if (!isBetween(now, friday, sunday)) { ... }
ochmals vielen Dank für Ihre Bemühunge