calendar = Calendar.getInstance();
        calendar.set(Calendar.YEAR,date.getYear());
        calendar.set(Calendar.MONTH,date.getMonth()+1);
        calendar.set(Calendar.DAY_OF_MONTH,date.getDate());
        calendar.set(Calendar.HOUR_OF_DAY,time.getHours());
        calendar.set(Calendar.MINUTE,time.getMinutes());
        calendar.set(Calendar.SECOND,time.getSeconds());
        Intent myIntent = new Intent(context, AlarmReciever.class);
        myIntent.putExtra("ReminderDetails",reminderDetails);
        myIntent.putExtra("requestCode", requestCode);
        pendingIntent = PendingIntent.getBroadcast(context, (int) (requestCode), myIntent,0);
            alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, date.getTime(),
                    interval, pendingIntent);
The following code here is good live for setting a calender time at the specified time and date.
And the most important thing here stands is that what do you pass in 2nd argument in alarmManager.setInexactRepeating(_) method,which is 
date.getTime(), which is the only thing will work instead of using 
calendar.getTimeinMillis() method, because that will return some unexpected time to be launched for intents.