Zeitrechnung mit Java?
Moin,
ich bin absoluter Javaneuling. Ich benutze Java 11.
Folgendes würde ich gerne machen, bzw. zu folgendem hätte ich Fragen.
Ich würde gerne das der Code die aktuelle PC Zeit nimmt und mir ein output für bestimmte Zeiträume gibt.
Z.B. hätte ich gerne als Output eine 1, wenn die aktuelle Zeit sich zwischen 0900 und 1400 Uhr befindet und eine 2 , wenn sie es nicht tut. Hab viel im Netz geschaut , aber hat leider alles nicht richtig funktioniert.
Vielleicht kann mir ja jemand helfen, bzw. mir ein paar Tipps geben.
2 Antworten
https://www.javatpoint.com/java-get-current-date
Und dann miteinander in einer Bedingung vergleichen
Der erste Tipp ist, dass du dir das Package java.time ansiehst. Die alten Datumsklassen wie Date, GregorianCalendar am besten ignorieren.
Einen Zeitpunkt (wie die aktuelle Zeit) bildest du mit Instant ab; in deinem Fall ist aber LocalTime wahrscheinlich passender, weil es dir nur um die Uhrzeit des aktuellen Tages geht.
Du kannst damit beliebig rechnen, vergleichen, was auch immer. Etwa so:
LocalTime jetzt = LocalTime.now();
if(jetzt.isAfter(LocalTime.of(09, 0)) && jetzt.isBefore(LocalTime.of(14, 0)) {
// ...
}
Aufpassen, ob für dich Zeitzonen relevant sind oder nicht - das musst du selbst wissen, das kann dir die Library nicht abnehmen.
Ach ja, mit der führenden Null bei "09" habe ich gerade einen klassischen Anfängerfehler demonstriert - das wäre eine Oktalzahl. Also natürlich nur "9". :-)