You have no mistake, both: Wed, 05 Jun 2013 00:48:12 GMT and Wed, 05 Jun 2013 00:48:12 GMT represent the same time, the first is GMT (Grenweech), and the second at the same Time in Australia (EST), you just need to set your time zone correctly.
If you want to print the same date in GMT, add this line to your code:
ft.setTimeZone(TimeZone.getTimeZone("GMT"));
Now, if you also want your date printed with a time zone as "GMT" instead of "+0000", follow @HewWolff's answer (use zzz instead of ZZZ)
source share