Когда вы читаете время с часовым поясом и печатаете с вашим языковым стандартом, система преобразует время в ваше местное в Уругвае.
Вам необходимо создать календарь с пользовательским языковым стандартом и часовым поясом, чтобы обеспечить его согласованность:
public static void main(String[] args) throws ParseException {
String dateStr = "Tue, 04 Aug 2015 12:09:10 GMT";
SimpleDateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.ENGLISH);
Date d = format.parse(dateStr);
System.out.println("The current time is: " + d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds());
Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("GMT"), Locale.ENGLISH);
cal.setTime(d);
System.out.println("The current time is: " + cal.get(Calendar.HOUR_OF_DAY) + ":" + cal.get(Calendar.MINUTE) + ":" + cal.get(Calendar.SECOND));
}