Erste Schritte Calendar.DAY_OF_YEAR

Nisbo

Bekanntes Mitglied
Servus,

ich bin neu bei Java, aber es bringt mehr Spaß als erwartet ^^

OK zu meiner Frage, ich habe ein Programm welches immer den aktuellen Day of Year nutzt um ein Verzeichnis zu öffnen im Format YYDOY also z.B. 16158 für heute. Bzw wenn es das Verzeichnis nicht gibt das Verzeichnis von gestern

Das funktioniert soweit schon mal nur das Programm bleibt auch über Mitternacht geöffnet und am nächsten Tag funktioniert es dann nicht mehr, es wird dann der Tag von gestern geöffnet

in der Programm Klasse
Code:
public class LLDTMain extends JFrame {

habe ich folgendes
Code:
// Calendar
   private Calendar calendar = Calendar.getInstance();

bei den Listeners habe ich dieses Code
Code:
private void initListeners(){
     // Select OBQM
     this.Button_Select.addActionListener(new ActionListener() {
       
       @Override
       public void actionPerformed(ActionEvent arg0) {
         FileDialog fd = new FileDialog(instance);
         fd.setMode(FileDialog.LOAD);
         
         // Today - day folder
         int dayOfYearT = calendar.get(Calendar.DAY_OF_YEAR);
         int YearT = calendar.get(Calendar.YEAR);
         YearT = YearT - 2000;
         
         // Yesterday - day folder
         Calendar Calendar_Yesterday = Calendar.getInstance();
         Calendar_Yesterday.add(Calendar.DAY_OF_YEAR, -1);
         int dayOfYearY = Calendar_Yesterday.get(Calendar.DAY_OF_YEAR);
         int YearY = Calendar_Yesterday.get(Calendar.YEAR);
         YearY = YearY - 2000;

danach teste ich dann ob es die Verzeichnisse gibt.

Also wo liegt das Problem das nach Mitternacht nicht das aktuelle Datum (DOY) zurückgegeben wird ?
 

Joose

Top Contributor
Deine Variable ist schon initialisiert mit dem gestrigen Tag. Und ohne das du dem Programm sagt es soll etwas aktualisieren bei der Variable, wird diese sich nicht ändern.
Lösung: Entweder läuft etwas nebenbei und ändert dir um Mitternacht die Variable, oder du initialisierst sie bei jeden Zugriff einfach neu, dann hast du immer den heutigen Tag.
 

Nisbo

Bekanntes Mitglied
Danke für die Antwort, so etwas hatte ich fast verschon vermutet, kann man halt immer schwer testen ohne einen Tag zu warten.

Dachte eigentlich das calendar.get(Calendar.DAY_OF_YEAR) sich immer auf den aktuellen Tag bezieht und nicht auf die "Instanzierung" (tolles Wort :D) bei private Calendar calendar = Calendar.getInstance();

Werde es dann mal abändern, thx nochmal
 

Joose

Top Contributor
Du rufst ja die "get" Methode von einem konkreten Objekt auf. Und auf die Daten dieses Objekt bezieht sich dann auch der "DAY_OF_YEAR".
Mit deiner Denkweise wäre es ja nicht mehr möglich herauszufinden welcher Tag des Jahres der 3.März wäre ;) bzw. wäre das nur am 3.März möglich

Bitte, kein Problem.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Problem mit Calendar.getDisplayName() Java Basics - Anfänger-Themen 8
B Calendar Java Basics - Anfänger-Themen 5
D Unterschied Date - Calendar Java Basics - Anfänger-Themen 1
I iCal Calendar mit Password und Username Java Basics - Anfänger-Themen 0
E Gregorian Calendar übergibt falschen Wochentag Java Basics - Anfänger-Themen 2
P Tag der Zeitumstellung Sommer->Winterzeit (Java Calendar) Problem Java Basics - Anfänger-Themen 5
S Calendar Neujahr Java Basics - Anfänger-Themen 10
T Calendar Methode roll(); Java Basics - Anfänger-Themen 2
J Calendar holidays Java Basics - Anfänger-Themen 4
L Datediff calendar Java Basics - Anfänger-Themen 3
D Java Date/Calendar Problem Java Basics - Anfänger-Themen 4
T Heutiges datum OHNE Calendar? Java Basics - Anfänger-Themen 9
M Calendar-Prüfung funktioniert nicht korrekt Java Basics - Anfänger-Themen 6
K Java Calendar Time Java Basics - Anfänger-Themen 10
N Fehler Calendar Java Basics - Anfänger-Themen 4
B Klassen Gregorian Calendar Java Basics - Anfänger-Themen 3
G Gregorian Calendar Eingabeprüfung Java Basics - Anfänger-Themen 4
M Calendar add-Funktion Java Basics - Anfänger-Themen 2
M Probleme mit Calendar Java Basics - Anfänger-Themen 9
0 Calendar - komme nicht weiter mit add Java Basics - Anfänger-Themen 2
lumo Datentypen Calendar to string und retour? Java Basics - Anfänger-Themen 4
S Calendar -- today Java Basics - Anfänger-Themen 4
N verständnisfrage java.util.Calendar Java Basics - Anfänger-Themen 4
W String zu Calendar parsen Java Basics - Anfänger-Themen 4
P (Arbeitstag-) Calendar - 9 anstatt 24 Stunden Java Basics - Anfänger-Themen 12
B Fehlermeldung für Calendar Java Basics - Anfänger-Themen 20
H Calendar rechnet möglicherweise falsch Java Basics - Anfänger-Themen 6
N Calendar Probleme Java Basics - Anfänger-Themen 5
G Gregorian Calendar aus toString() Ausgabe wiederherstellen Java Basics - Anfänger-Themen 4
A calendar Java Basics - Anfänger-Themen 6
K java.util.Calendar und Objekt Java Basics - Anfänger-Themen 7
C Problem Date / Calendar Java Basics - Anfänger-Themen 3
Paule Problem mit Date und Calendar Java Basics - Anfänger-Themen 3
W Gregorian Calendar Java Basics - Anfänger-Themen 5
S Calendar.set Time, Ermittlung der Anzahl Tage fehlerhaft Java Basics - Anfänger-Themen 9
G Probleme mit Konvertierung und Substraktion im Calendar Java Basics - Anfänger-Themen 4
S Konvertieren von Gregorian Calendar nach Date ? Java Basics - Anfänger-Themen 6
L Gregorian Calendar Problem Java Basics - Anfänger-Themen 7
S Calendar.set Methode Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben