Поскольку вы читаете время с часовым поясом и печатаете с вашим языком, система преобразует время в местное население в Уругвае.
Вам нужно создать календарь с пользовательской локали и часовой пояс для того, чтобы сохранить его последователен:
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));
}
Вы используете JCalendar? Может быть полезно упомянуть об этом. – Cambium
Что такое 'DateUtil'? Не стандартная Java, Apache commons? –