You seem to be mixing the patterns for z
and Z
. If you ignore the (FLE Daylight Time)
, since this is the same info as in GMT+0300
, the problem becomes that SimpleDateFormat
wants either GMT +0300
or GMT+03:00
. The last variant can be parsed like this:
String time = "Sun Jul 15 2012 12:22:00 GMT+03:00 (FLE Daylight Time)";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss zzz");
Date date = sdf.parse(time);
[EDIT]
In light of the other posts about their time strings working, this is probably because your time string contains conflicting information or mixed formats.