The month field value in the input String may not match that from your default Locale
. Try
DateFormat format = new SimpleDateFormat("MMM d yyyy", Locale.ENGLISH);
...
Date date = format.parse(str);
Note: Rather than manipulating the original String
it could have been parsed directly with
DateFormat format =
new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy", Locale.ENGLISH);