こんなのはどうかな?あんまり変わらんか・・・

Date sourceDate = new Date();
Calendar c1 = Calendar.getInstance();
c1.setTime(sourceDate);
Calendar c2 = new GregorianCalendar(c1.get(Calendar.YEAR), c1.get(Calendar.MONTH), c1.get(Calendar.DAY_OF_MONTH), c1.get(Calendar.HOUR), 0, 0);
Date resultDate = c2.getTime();

System.out.println(c1);
System.out.println(c2);

System.out.println(sourceDate);
System.out.println(resultDate);