Lar Finanças Pessoais Como adicionar ou subtrair datas em Java - dummies

Como adicionar ou subtrair datas em Java - dummies

Vídeo: Trabalhando datas 2 de 2 2024

Vídeo: Trabalhando datas 2 de 2 2024
Anonim

Assim como você não pode usar os operadores de comparação embutidos da Java com datas, você também não pode usar operadores matemáticos integrados. Em vez disso, você pode executar a adição e subtração nas datas usando os vários métodos mais e menos , e você pode determinar a diferença entre duas datas usando o método até .

Um fato importante a ser considerado ao fazer cálculos de data e hora é que os objetos Date-Time são imutáveis. Isso significa que, uma vez que você crie um objeto Date-Time, você não pode alterar seu valor. Quando você executa um cálculo em um objeto Date-Time, o resultado é um novo objeto Data-Time com um novo valor.

Os métodos mais e menos permitem que você adicione várias unidades de data e hora a um objeto Date-Time. Existem quatro variantes de cada uma das classes LocalDate , permitindo adicionar ou subtrair anos, meses, semanas e dias para um objeto LocalDate . O código a seguir imprime a data atual, a data de amanhã e a data uma semana, um mês e um ano a partir de agora:

Sistema. Fora. println ("Hoje:" + LocalDate. now ());

Sistema. Fora. println ("Amanhã:" + LocalDate. now (). plusDays (1));

Sistema. Fora. println ("Próxima semana:" + LocalDate. now (). plusWeeks (1));

Sistema. Fora. println ("Próximo mês:" + LocalDate. now (). plusMonths (1));

Sistema. Fora. println ("Ano seguinte:" + LocalDate. now (). plusYears (1));

Para determinar a diferença entre duas datas, use o método até . Ele calcula a diferença entre uma data e a data passada como o primeiro parâmetro, medido nas unidades indicadas pelo segundo parâmetro. Por exemplo, o código a seguir determina o número de dias entre 16 de maio de 2014 e 15 de dezembro de 2014:

LocalDate date1 = LocalDate. analisar ("2014-05-16");

LocalDate date2 = LocalDate. analisar ("2014-12-15");

Sistema. Fora. println (date1. until (date2, ChronoUnit. DAYS));

Alguns cálculos de data podem ser um pouco mais complexos. Por exemplo, considere uma empresa que prepara faturas no dia 15 de cada mês. O seguinte fragmento de código exibe o número de dias da data atual até a próxima data de faturamento:

LocalDate hoje = LocalDate. agora();

LocalDate invDate = LocalDate. de (hoje, getYear (),

hoje. getMonthValue (), 15);

se (hoje. GetDayOfMonth ()> 15)

invDate = invDate. maisMonths (1);

long daysToInvoice = hoje. até (invDate,

ChronoUnit. DAYS);

Sistema. Fora. println (daysToInvoice

+ "até a próxima data da factura.");

Este exemplo funciona obtendo a data atual e criando um novo LocalDate objeto que representa o 15º do mês atual. Então, se o dia atual do mês for maior que 15, ele adiciona um mês para a data de faturamento. Em outras palavras, se for o 16º ou posterior, o faturamento ocorre no dia 15 do mês seguinte, não deste mês. Em seguida, usa o método até para determinar o número de dias entre a data atual ea próxima data de faturamento.

ChronoUnit é uma enumeração que define as várias unidades de tempo que podem ser usadas nos cálculos de data e hora. Os valores possíveis são:

CENTURIES

DAYS

DECADES

ERAS

PARA SEMPRE

SEMESTES

HORAS

MICROS

MILLENNIA

MILLIS

MINUTOS

MESES

NANOS

SEGUNDOS

SEMANAS

ANOS

A maioria destes é auto-explicativo, mas dois deles são um pouco peculiares:

  • ERA indica se A data refere-se à Era Comum (CE, também conhecida como AD) ou Antes da Era (BCE, também conhecida como BC).
  • FOREVER representa o maior valor que pode ser representado como uma duração. Infelizmente, Java não vai deixar você viver para sempre. O código a seguir lança uma exceção:

LocalDate birthday = LocalDate. analisar ("1959-05-16)";

aniversário = aniversário. mais (1, ChronoUnit. FOREVER);

Observe que ChronoUni t está no java. Tempo. pacote temporal , então, assegure-se de incluir a seguinte declaração na parte superior de qualquer programa que use ChronoUnit :

importar java. Tempo. temporal. *;

Como adicionar ou subtrair datas em Java - dummies

Escolha dos editores

Acalma suas emoções ao praticar Mindfulness - dummies

Acalma suas emoções ao praticar Mindfulness - dummies

Aqui, você descobre a maneira consciente de gerenciar as emoções - as etapas para tome quando estiver sentindo baixo, excessivamente irritado ou desconfortavelmente ansioso. As emoções positivas podem ser um sentimento maravilhoso. A alegria, a alegria, a emoção e a felicidade são perfeitas. Mas como você pode lidar com as chamadas emoções negativas? Use a atenção para a saúde emocional A atenção plena está se tornando ...

Como começar o seu dia de trabalho com meditação Mindfulness - dummies

Como começar o seu dia de trabalho com meditação Mindfulness - dummies

Você pode encontrar a meditação mindfulness é uma ótima maneira de Comece o seu dia de trabalho. Quando chegar ao trabalho pela manhã, talvez já esteja estressado. Depois de uma agitada hora ou duas preparando as crianças para a escola ou regatear com seu parceiro ou lidar com alguma emergência em casa, seguido de ...

Os melhores sites Mindfulness - dummies

Os melhores sites Mindfulness - dummies

, Independentemente de você morar no Reino Unido ou em outro lugar, se você procurar "mindfulness" 'on-line, você literalmente obterá milhões de resultados. Como você pode dizer o trigo da palha? Aqui estão alguns sites que você achará útil. Atento. Este recurso maravilhoso tem muitos conteúdos de alta qualidade de professores excelentes de atenção plena. O ...

Escolha dos editores

HDR Solução de problemas: Nada está funcionando - manequins

HDR Solução de problemas: Nada está funcionando - manequins

Quando você se depara com uma situação com suas fotografias de alcance dinâmico elevado e parece que nada que você está fazendo está funcionando - as configurações não parecem boas, a imagem parece errada, os efeitos são ruins - relaxe e faça uma pausa. A imagem está lhe dizendo algo. Que algo às vezes é relacionado a forçar ...

HDR Resolução de problemas: falta de imaginação - dummies

HDR Resolução de problemas: falta de imaginação - dummies

A imaginação é uma coisa poderosa ao preparar imagens HDR, fato que é tornou-se mais óbvio quando você vê o resultado de não usá-lo versus usá-lo. A imagem superior desta figura é uma imagem HDR de um diner local durante a "hora dourada" - naquele horário atrasado (ou manhã) quando ...

HDR Solução de problemas: Sharpening - dummies

HDR Solução de problemas: Sharpening - dummies

Se você ficar apanhado na perfeição, você está preparado para aumentar seu HDR imagens. Os fotógrafos às vezes estão obcecados com a nitidez em suas fotos. Eles querem que tudo seja pixelly perfeitamente afiado do nariz da câmera até o infinito, independentemente da lente, abertura, ISO ou velocidade do obturador que eles usem. Esta figura mostra os resultados ...

Escolha dos editores

Cisco Rede: Mostrar comando de versão em um Switch - dummies

Cisco Rede: Mostrar comando de versão em um Switch - dummies

Em qualquer componente de rede da Cisco, o show O comando de versão é aplicável a qualquer hardware usando o Sistema Operacional Cisco IET (Internetwork Operating System), incluindo switches. O comando show version mostra informações ligeiramente diferentes, de acordo com o tipo de dispositivo em que você usa. Veja a saída do comando show version em um switch e ...

Cisco Rede: Modo de operação EXEC privilegiado - manequins

Cisco Rede: Modo de operação EXEC privilegiado - manequins

Você precisa usar o modo EXEC privilegiado se quiser realmente tem acesso de atualização a um sistema de rede Cisco,. Para entrar neste modo no modo EXEC do usuário, emita o comando enable, que solicita uma senha, se configurado. Como o nome do modo sugere, este modo tem privilégios extras para permitir ...

Cisco Rede: Configuração de Senha de Shell Seguro (SSH) - manequins

Cisco Rede: Configuração de Senha de Shell Seguro (SSH) - manequins

Shell seguro (SSH) é um protocolo de rede para seus dispositivos Cisco, que é mais seguro do que o Telenet. Definir uma senha segura é um requisito de configuração para este protocolo. Para configurar o acesso a um switch Cisco para SSH, você precisará ter uma conta de usuário criada em sua opção. O exemplo supõe que você tenha ...