GregorianCalender занимает месяц в августе, а «7», а не «8», поскольку январь представлен как «0». Ссылка: Грегорианский календарь
Просьба проверить следующее, и оно должно работать.
import java.util.*;
public class Test {
public static void main(String args[]) {
GregorianCalendar myCal = new GregorianCalendar(2014, 7, 8);
System.out.println(myCal.get(Calendar.DAY_OF_WEEK));
}
}