Testen ob neuer Tag beginnt

ZeusSeinGrossopa

ZeusSeinGrossopa

Mitglied
Hey : )

wie kann man testen ob ein neuer Tag beginnt?(In Java natürlich xD)
 
Zuletzt bearbeitet:
kneitzel

kneitzel

Top Contributor
Also ich erkenne einen neuen Tag immer an der Uhrzeit in Kombination mit dem Datum. Ggf. Zeitzone mit einbinden je nach Anforderung ...
 
A

advanced_java

Mitglied
Java:
	public static void main(String[] args) throws InterruptedException {
		Locale locale = Locale.GERMANY;
		int dayOfYear = new GregorianCalendar(locale).get(Calendar.DAY_OF_YEAR);
		do {
			Thread.sleep(1000 * 60);
		} while (dayOfYear == new GregorianCalendar(locale).get(Calendar.DAY_OF_YEAR));
		// your stuff
	}

wahlweise kannst du Locale locale = Locale.GERMANY; auch weglassen.
 
ZeusSeinGrossopa

ZeusSeinGrossopa

Mitglied
Java:
    public static void main(String[] args) throws InterruptedException {
        Locale locale = Locale.GERMANY;
        int dayOfYear = new GregorianCalendar(locale).get(Calendar.DAY_OF_YEAR);
        do {
            Thread.sleep(1000 * 60);
        } while (dayOfYear == new GregorianCalendar(locale).get(Calendar.DAY_OF_YEAR));
        // your stuff
    }

wahlweise kannst du Locale locale = Locale.GERMANY; auch weglassen.
Danke :D
 
kneitzel

kneitzel

Top Contributor
Also wieso etwas erneut schreiben, das ausführlich auf SO behandelt wurde? Wenn man gewisse Möglichkeiten kennt, dann
a) findet man entsprechende SO Threads in sehr kurzer Zeit
b) muss man sich nichts selbst zurecht basteln.

Und ganz nebenbei bemerkt: es ging bei dem Verweis von @mihe7 bestimmt weniger um die Frage des SO Threads sondern um die Antwort ... und da wird nichts alle 15 Minuten ausgeführt ....
 
mihe7

mihe7

Top Contributor
Aber es ist eh schon traurig, wenn man so triviale Fragen bei SO nachsehen muss. :D:D
Eigentlich finde ich es traurig, dass man gerade für triviale Fragen immer und immer wieder Code tippen soll. Ich habe schon überlegt, eine Sammlung anzulegen. In letzter Zeit antworte ich übrigens öfter mal mit Links: geht schneller :) Außerdem kommt der ein oder andere dann vielleicht auf die Idee, erstmal selbst bei SO oder Google vorbeizuschauen, bevor er die nächste Frage postet und auf Antwort warten muss.
 
A

advanced_java

Mitglied
Der Code auf SO entspricht nicht seiner Frage, man wird also nicht umhinkommen den Code wenigstens anzupassen, dann kann ich den Dreizeiler auch gerade selber schreiben.... und nein, der von mir gepostete Code ist nicht "Busy waiting (or looping)" - falls mir das als nächstes zum Vorwurf gemacht werden sollte... Es ist aber auch klar das der nächste Ausführungszeitpunkt auch exakt bestimmt werden kann. Ungeachtet dessen denke ich, das meine Antwort zu seiner Frage genau die gesuchte ist (er hats ja auch mit Danke quittiert...).
 
kneitzel

kneitzel

Top Contributor
Also mir ist es egal, ob Du nun unser Tobias bist oder nicht. Dein Verhalten entspricht genau seinem Verhaltensmuster und die Mods scheinen dem entgegen wirken zu wollen.

Daher vermute ich, dass dein Account mit deinem Verhalten nicht lange aktiv sein wird.

Und ja: mag sein, dass der TE deine einfache Lösung übernimmt und sich nicht die Mühe macht, mehr Klassen des Frameworks kennen zu lernen. Das macht Deine Lösung aber nicht besser und die Lösung mit ScheduledExecutorService nicht schlechter.

Spätestens wenn der TE nicht nur Schul- oder Uniaufgaben behandelt wird ihm so ein Verhalten schnell zum Verhängnis.

Und die Anforderung 'Code, der ausgeführt wird, wenn ein neuer Tag beginnt' ist in meinen Augen auch nicht wirklich: 'den aktuellen Thread stoppen, bis der neue Tag beginnt. Daher müsstest du die Lösung noch um einen Thread erweitern.

Und wenn es nur um die Ausführung eines Ganzen Programmes gehen sollte, dann wäre ein Scheduler des Betriebssystems wohl die bessere Lösung.

Generell ist das Argument hier also vot allem:
Man muss ja nicht neu bauen, das schon längst existiert....
 
mihe7

mihe7

Top Contributor
Beide Codes haben Vor- und Nachteile. Der SO-Code definiert den Tag als 24-Stunden-Zeitraum, während der Code von Tobias auf den Kalendertag abstellt. Der SO-Code führt beliebigen Code nebenläufig wiederholt aus, beim Code von Tobias ist eine einmalige Ausführung in main vorgesehen. Für die nebenläufige Ausführung müsste ein Thread erstellt werden, in dem die InterruptedException behandelt wird. Außerdem muss berücksichtigt werden, dass der Thread ggf. auch mal wieder beendet werden soll. Beim SO-Code müsste man, um den Kalender zu berücksichtigen, statt scheduleAtFixedRate ein schedule verwenden und nach Ablauf den Task erneut mit einem neu berechneten Delay ausführen. Insgesamt sind die ExecutorService-Implementierungen der Plattform natürlich ausgefeilter als ein einfaches Thread.sleep.
 
A

advanced_java

Mitglied
Bevor @ZeusSeinGrossopa nicht richtig programmieren kann, muss er auch noch nicht alle Frameworks kennen. Hier gab es eine klare Anforderung, ich habe Code... der soll ab 0 Uhr einmal ausgeführt werden... mehr Anforderungen gab es nicht.
 
T

thecain

Top Contributor
Welches Framework?? Das ist ja alles im jdk.

Aber du hast natürlich wie immer Recht und alle anderen nicht. Das musst du auch gar nicht begründen, wir würden es ja sowieso nicht verstehen...
 
A

advanced_java

Mitglied
Welches Framework?? Das ist ja alles im jdk.

Aber du hast natürlich wie immer Recht und alle anderen nicht. Das musst du auch gar nicht begründen, wir würden es ja sowieso nicht verstehen...
Den Begriff >Framework< hatte @JustNobody zuerst eingeführt...
Es ging mir nicht darum, immer recht haben zu wollen - auch nicht darum, anderen Unrecht zu unterstellen - sondern lediglich darum, die gelegentlich aufkommende Meinung, mein Code sei falsch, zu widerlegen. Aber ich muss hier auch nicht antworten...
 
MoxxiManagarm

MoxxiManagarm

Top Contributor
Kann man so sagen, Tobi reagiert ja irgendwie allergisch auf mich. Dabei habe ich ihm nie (absichtlich) etwas getan. Und ich hatte halt vorhin wieder sone allergische Reaktion gesehen, obwohl ich - mal wieder - nichts böses wollte. Und da hab ich mich halt an Tobi erinnert, eben jener, den ihr hier auch mit Tobi in Verbindung gesetzt habt.
 
mihe7

mihe7

Top Contributor
Kann man so sagen, Tobi reagiert ja irgendwie allergisch auf mich. Dabei habe ich ihm nie (absichtlich) etwas getan. Und ich hatte halt vorhin wieder sone allergische Reaktion gesehen, obwohl ich - mal wieder - nichts böses wollte. Und da hab ich mich halt an Tobi erinnert, eben jener, den ihr hier auch mit Tobi in Verbindung gesetzt habt.
Ach, der will nur spielen.
 
kneitzel

kneitzel

Top Contributor
Den Begriff >Framework< hatte @JustNobody zuerst eingeführt...

Nein, den Begriff habe ich nicht eingeführt sondern ich habe diesen lediglich verwendet.

Und Java stellt nun einmal ein grundlegendes Framework an Klassen bereit. Wieso sollte der Begriff Framework nicht passen?

Und ich verstehe das Umlenken auf diesen Begriff nicht. Du hast den Link von Mike nicht richtig betrachtet, daher die Aussage bzgl ‚alle 15 min‘ von Dir. Und daher hast du natürlich auch nicht gesehen, dass da Mittel verwendet wurden, die ‚direkt an Board‘ sind.

Aber wie dem auch sei: der TE schaut es sich ja beides an ... ist doch alles im grünen Bereich.

Ansonsten ist es bei einigen (externen) Frameworks teilweise so, dass da nicht einmal groß etwas entwickelt werden muss. Eine Annotation auf einer Methode reicht dann teilweise schon ... Als Beispiel könnte z.B. Spring heran gezogen werden ... siehe z.B. https://howtodoinjava.com/spring-core/spring-scheduled-annotation/
 
A

advanced_java

Mitglied
Weils gerade gut zum Thema passt: Es ist ganz einfach, jeder, der mir ans Bein pisst, bekommt sein Fett weg. 🤣
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Erste Schritte TDD testen einer Methode mit injezierten Services? Allgemeine Java-Themen 12
S Habt ihr eine Idee wie man Serializierung testen kann..? Allgemeine Java-Themen 6
B Eclipse WebSocket programmiert, kann es leider nicht testen. Allgemeine Java-Themen 15
H OOP Testen einer Exception mit JUnit Allgemeine Java-Themen 8
perlenfischer1984 TestNG - Enum testen Allgemeine Java-Themen 1
perlenfischer1984 Testng : Funktion mit mehreren Parametern testen Allgemeine Java-Themen 5
J Best Practice Testen von protected Methoden Allgemeine Java-Themen 7
F Testen von Methoden Allgemeine Java-Themen 3
B JUnit Zufalls Operation testen Allgemeine Java-Themen 1
P Testen von UIs Allgemeine Java-Themen 2
T MEthodenauruf testen, wenn instanz erst erzeugt wird Allgemeine Java-Themen 0
M Testen von verschiedenen Produktversionen Allgemeine Java-Themen 3
T EventBus testen Allgemeine Java-Themen 1
L JUnit - automatisiertes vs. manuelles Testen? Allgemeine Java-Themen 3
R Java Performance testen Allgemeine Java-Themen 18
B Mails testen Allgemeine Java-Themen 7
A AVL-Baum - Testen ob einer vorliegt Allgemeine Java-Themen 4
aze JUnit: Testen ob bestimmte Exception nicht auftritt Allgemeine Java-Themen 18
J JUnit - werfen von Exceptions testen Allgemeine Java-Themen 17
X Testen ob ein array leer ist Allgemeine Java-Themen 6
M Server-Responds testen, Code-Redundanz Allgemeine Java-Themen 3
fastjack Unit-Testen mit Mocks Allgemeine Java-Themen 6
B FileWriter / FileReader testen / Mock-Objekt für Unit Tests? Allgemeine Java-Themen 6
H Thread Safety und Deadlocks testen Allgemeine Java-Themen 6
D Muss eine JNI Biblio testen (MAC OS X) Allgemeine Java-Themen 4
T Object auf Double, Int, String testen Allgemeine Java-Themen 5
aokai Testen von Klassen die abhängig von Stdlibs URL sind Allgemeine Java-Themen 3
S Testen einer Anwendung durch klicken von Koordinaten Allgemeine Java-Themen 7
R Testen von Applets - versch. Browser und Java Versionen? Allgemeine Java-Themen 4
V Quellcode auf "Güte" testen? Allgemeine Java-Themen 5
G JAR-DAtei testen Allgemeine Java-Themen 15
J Klasse auf Konstruktor oder Methode testen? Allgemeine Java-Themen 3
A Junit Exceptions testen Allgemeine Java-Themen 3
Z Testen welches BS benutzt wird Allgemeine Java-Themen 3
G Testen von RMI,TCP/IP, Servlets etc. Allgemeine Java-Themen 2
M Welches Linux zum Java testen? Allgemeine Java-Themen 5
P Testen mit JUnit Allgemeine Java-Themen 8
L Java6 update N bekommt neues Browser-Plugin, bitte testen. Allgemeine Java-Themen 7
G testen mit JUnit? Allgemeine Java-Themen 3
K Testen ob Methode existiert? Allgemeine Java-Themen 2
N Cashbook Management Testen Allgemeine Java-Themen 7
A testen ob Primzahl dauert bei größeren zahlen extrem lange Allgemeine Java-Themen 8
M String testen? Allgemeine Java-Themen 2
M String testen? Allgemeine Java-Themen 6
N auf typ testen? Allgemeine Java-Themen 3
M Programmierstill: Bitte testen anhand HTML-Tool Allgemeine Java-Themen 18
K Testen einer Klasse mit File Objekt als Parameter Allgemeine Java-Themen 6
M Bitte Testen: Mein Multi-File Editor Allgemeine Java-Themen 30
T GUI Testen Allgemeine Java-Themen 4
T GUI Testen Allgemeine Java-Themen 5
G Programm zum Testen der Striktheit von Java Allgemeine Java-Themen 9
H Laufwerk testen? Allgemeine Java-Themen 12
F Hilfe: Adjazenzmatrix mittels JUnit testen. Allgemeine Java-Themen 2
M Jemannd mit 1.4/1.3/1.2 zum Testen gesucht. Allgemeine Java-Themen 15
flashfactor Testen ob ein R/3 erreichbar bzw. noch am leben ist. Allgemeine Java-Themen 2
T Datum testen und Einsetzten Allgemeine Java-Themen 5
M Regular Expression - verschiedene Ausdrücke testen (grep | ) Allgemeine Java-Themen 5
P Dateinamen mit regulärem Ausdruck testen Allgemeine Java-Themen 9
P Dateinamen testen? Schreibrechte auf Verzeichnis testen? Allgemeine Java-Themen 8
H JPA (EclipseLink) Neuer Eintrag in Collection speichern (unidirektional) Allgemeine Java-Themen 3
sambalmueslie Benachrichtigung bei neuer Objekt-Instanz Allgemeine Java-Themen 5
A Observer Pattern: feuern bei neuer Referenz-Zuweisung? Allgemeine Java-Themen 8
J Was ist schneller? Neue Variable oder neuer Wert speziell int Allgemeine Java-Themen 3
T Klasse mit neuer Eigenschaft für jede Subclass (kompliziert) Allgemeine Java-Themen 6
T Thread, neuer Thread => interrupt Allgemeine Java-Themen 4
A Java Prozess in neuer JVM Allgemeine Java-Themen 8
B Installation neuer Packages Allgemeine Java-Themen 8
I JAR aus Applikation in neuer VM ausführen Allgemeine Java-Themen 9
S Generics Hashtable mit "neuer" for-Schleife ausles Allgemeine Java-Themen 4
B CPU --- Neuer Computer muß her . Allgemeine Java-Themen 7
S Wie eine Anwendung als neuer Prozess starten? Allgemeine Java-Themen 8
F externes Programm beginnt erst nach dem ende des mainprogrammes Allgemeine Java-Themen 3

Ähnliche Java Themen

Anzeige

Neue Themen


Oben