[RESOLVIDO] Duvida Classe calendar

Seguinte galera, tenho uma classe Calendar só que ela está retornando o valor em 24 horas normal…

    Calendar c = Calendar.getInstance();
    c.set(Calendar.HOUR_OF_DAY, 16); 
    c.set(Calendar.MINUTE, 00);
    c.set(Calendar.SECOND, 0);
    c.set(Calendar.MILLISECOND, 0);
    
    Date horaAgendada = c.getTime();
    
    System.out.println(horaAgendada);

Preciso que em vez de retornar:

       Tue Apr 24 16:00:00 BRT 2018 

Retorne o valor:

        4:00 pm
c.set(Calendar.HOUR, 16);

Ele retornou isso aqui:

Wed Apr 25 04:00:00 BRT 2018

Porém esse horário equivale as 4 da manhã não é ?

Tue Apr 24 16:00:00 BRT 2018 é apenas o toString() do objeto Date.
Utilize um DateFormat para imprimir a String no formato desejado.

Usando o DateFormat não dará certo, pois preciso passar como date em um parâmetro esse horário!

Então não com o que se preocupar, é só passar o objeto Date e pronto!
Como eu disse o "Wed Apr 25 04:00:00 BRT 2018" é somente o resultado do toString() do objeto Date.
O Date por si só não tem um formato, ele apenas encapsula um long que representa um instante de tempo, nada além disso.

Só usar o DateFormat.