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.