I'm using following code in my app:

```
Calendar tmpCalendar = Calendar.getInstance(Locale.getDefault());
String itemTime = String.format(
        Locale.getDefault(),
        "%1$tA, %1$te. %1$tB %1$tY",
        tmpCalendar);

```

German is the default language on my device, so I'd expect to get something like:

> 
> Dienstag, 7. Juni 2011
> 
> 
> 

Instead I'm getting:

> 
> 3, 7. 6 2011
> 
> 
> 

If I use `Locale.US` instead of `Locale.getDefault()` everything works fine. Am I doing something wrong?

Oddly, it works in an emulator running Android 2.2 in German, but not on a HTC Desire, also running 2.2. Why?