Seite 1 von 1

Bitte um Zeitangaben Bestätigung...

Verfasst: 15. Feb 2020 18:24
von Steinspiel
Nabend,

Vieleicht kann ja jemand eine unabhängige Bestätigung zu meiner (Zeit) Schreibweise abgeben ... ;-)
Bedeutet folgendes

Code: Alles auswählen

(now.getDayOfWeek < 6 && now.getHourOfDay > 3 && now.getMinuteOfHour > 44 && now.getHourOfDay < 6 && now.getMinuteOfHour < 31)
Mo - Fr, zwischen 04:45 Uhr und 05:30 ? Oder habe ich da einen Fehler eingebaut? Denn irgendwie springt die Regel nicht an.

Ich habe schon gesucht ob es einen Generator für diese Zeitangaben gibt, ähnlich wie der "Cron Quarz Generator", aber nichts gefunden... :-(

schönen Samstag Abend noch...

Re: Bitte um Zeitangaben Bestätigung...

Verfasst: 15. Feb 2020 23:30
von udo1toni
Nein.

Das Problem ist, dass Du darauf prüfst, dass die Minute der Stunde gleichzeitig größer als 44 und kleiner als 31 ist. :) das ist nie der Fall. Korrekt geht es so:

Code: Alles auswählen

(now.getDayOfWeek < 6 && now.getMinuteOfDay > 44 + 4*60 && now.getMinuteOfDay < 31+5*60)
getMinuteOfDay liefert die Anzahl Minuten seit 0:00 Uhr des Tages.
Alternativ ginge auch soetwas:

Code: Alles auswählen

(now.getDayOfWeek < 6 && now.isAfter(now.withTime(4,45,0,0))&& now.isBefore(now.withTime(5,30,0,0)))
withTime() erwartet vier Integer Werte für Stunde, Minute, Sekunde und Millisekunde.
Eine weitere Variante wäre noch die Definition eines Zeitraums:

Code: Alles auswählen

if(now.getDayOfWeek < 6&& (new Interval(now.withTime(4,45,0,0), now.withTime(5,30,0,0)).contains(now)))
Allerdings scheint mir die erste Variante die "einfachste" zu sein, im Sinne der Verständlichkeit.

Re: Bitte um Zeitangaben Bestätigung...

Verfasst: 18. Feb 2020 18:57
von Steinspiel
Moin,
udo1toni hat geschrieben: 15. Feb 2020 23:30 Das Problem ist, dass Du darauf prüfst, dass die Minute der Stunde gleichzeitig größer als 44 und kleiner als 31 ist.
[...]
Allerdings scheint mir die erste Variante die "einfachste" zu sein, im Sinne der Verständlichkeit.
Sorry, das hatte ich total vergessen (vor lauter Bluetooth G-Tag Gebastel...)

Erst jetzt wo ich es brauche fällt mir wieder ein "...da war doch was..." ;)
Auf jeden Fall Danke für die Hilfe und ich habe das natürlich wieder in meiner "Udo - Codes für alle Fälle" Datei gespeichert... ;-)