final Calendar instance = Calendar.getInstance();
instance.set(Calendar.HOUR, 0);
instance.set(Calendar.MINUTE, 0);
instance.set(Calendar.SECOND, 0);
instance.set(Calendar.MILLISECOND, 0);
long result = instance.getTimeInMillis() + yourTime;
Also note that Calendar#getInstance does the following:
Calendar cal = createCalendar(TimeZone.getDefaultRef(), Locale.getDefault());
The resulting time will change according to the default set TimeZone (and yes it can change !). See this post: java Timezone setDefault effects