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

Foi útil?

Solução

Tomo a abordagem de força bruta

// 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 Dates 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. : (

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top