SimpleDateFormat Problem

M4D-M4X

Bekanntes Mitglied
Hi Leute,

ich habe ein Problem mit dem SimpleDateFormat.

Der Code ist wie folgt:

Java:
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;


public class Testclass{
	
	
	Calendar now = Calendar.getInstance();
	SimpleDateFormat format = new SimpleDateFormat("E dd", Locale.GERMANY);
	
	Testclass(){
		
		System.out.println(format.format(now.get(Calendar.DATE)));

			
		   
	}

	public static void main(String[] args){
		Testclass blubb = new Testclass();
	}
}


Es wird mit Do 01 ausgegeben, was natürlich nicht stimmt, weil heute Dienstag der 21 ist.
Wenn ich jedoch die Zeile:

Java:
   System.out.println(now.get(Calendar.DATE));

ausführe wird mir der 21. angezeigt

Kann mir jemand sagen was ich falsch mache?
 
Zuletzt bearbeitet:
@M4D-M4X

eine Sekunde nachdenken, ist das schwer?
wie du selbst sagst liefert now.get(Calendar.DATE) den korrekten Wert 21
du führst also letztlich
> System.out.println(format.format(21));
aus

wie um alles in der Welt soll SimpleDateFormat daraus etwas sinnvolles machen, was ist 21?
ein Jahr, eine Sekunde, ein Tag? welcher Monat, welche Woche, alles raten?

was tatsächlich passiert ist, dass die 21 als Millisekundenzeit interpretiert wird,
nahezu am 0-Punkt, am 01.01.1970 01:00 in Deutschland, ein Donnerstag der erste Januar
 
Okay das klingt logisch.

Ich bin da nur nicht draufgekommen, da ich dachte er ermittelt zum aktuellen Datum den Tag gleicht mit und ja...

Danke für die Hilfe =)
 

Zurück
Oben