Pergunta
O que é uma maneira eficiente para obter um certo tempo para o dia seguinte em Java? Vamos dizer que eu quero que o tempo para amanhã 03:30:00. Definindo campos de calendário e data formatação são óbvias. Melhor ou ideias mais inteligentes, obrigado por compartilhá-los!
Okami
Solução
Tomo a abordagem de força bruta ??p>
// make it now
Calendar dateCal = Calendar.getInstance();
// make it tomorrow
dateCal.add(Calendar.DAY_OF_YEAR, 1);
// Now set it to the time you want
dateCal.set(Calendar.HOUR_OF_DAY, hours);
dateCal.set(Calendar.MINUTE, minutes);
dateCal.set(Calendar.SECOND, seconds);
dateCal.set(Calendar.MILLISECOND, 0);
return dateCal.getTime();
Outras dicas
Estou curioso para ouvir o que outras pessoas têm a dizer sobre este. Minha própria experiência é que tomar atalhos (ou seja, "melhores ou mais inteligentes idéias") com Date
s quase sempre cai no problema. Heck, apenas usando java.util.Date
está pedindo para ter problemas.
Adicionado:. Muitos têm recomendado Joda Tempo em outros tópicos Data relacionadas
eu consideraria usando a API pré-definida a forma inteligente de fazer isso.
Não sei por que você não iria usar apenas o objeto Calendar? É fácil e sustentável. Concordo sobre não usar Data, praticamente tudo útil sobre isso agora está obsoleta. : (