Символы формата даты для en_US:
GyMdkHmsSEDFwWahKzZ
Символы формата даты для nl_NL:
GyMdkHmsSEDFwWahKzZ
Нет никакой разницы. Я получил символы формата даты, выполнив следующие строки Java:
System.out.println(DateFormatSymbols.getInstance
(new Locale("en_US")).getLocalPatternChars());
System.out.println(DateFormatSymbols.getInstance
(new Locale("nl_NL")).getLocalPatternChars());
Я оставил исходный формат даты тем же:
String sourceDateFormat = "EEE MMM d HH:mm:ss z yyyy";
и изменил ваше простое утверждение формата даты следующим образом:
SimpleDateFormat sdf = new SimpleDateFormat(sourceDateFormat,
new Locale("nl_NL"));
С этим простым изменением формата даты ваш тестовый код работал нормально и дал следующие результаты в восточном часовом поясе США:
Date string: 2011-12-20T00:00:00+00:00
Final Date: 12/19/2011 19:00:00