Per un modo semplice farlo:
Calendar cal = new GregorianCalendar();
System.out.println(cal.getTime());
cal.set(Calendar.DAY_OF_MONTH,1);
System.out.println(cal.getTime());
cal.set(Calendar.HOUR_OF_DAY,0);
System.out.println(cal.getTime());
cal.set(Calendar.MINUTE,0);
System.out.println(cal.getTime());
cal.set(Calendar.SECOND,0);
System.out.println(cal.getTime());
cal.set(Calendar.MILLISECOND,0);
System.out.println(cal.getTime());
Il risultato è:
Thu Jun 11 05:36:17 EDT 2015
Mon Jun 01 05:36:17 EDT 2015
Mon Jun 01 00:36:17 EDT 2015
Mon Jun 01 00:00:17 EDT 2015
Mon Jun 01 00:00:00 EDT 2015
Mon Jun 01 00:00:00 EDT 2015
modificato la mia risposta di conseguenza – MozenRath