Olá, preciso criar uma condição para gerar datas de vencimento.
a condição deve ser:
pegar data matricula e adicionar o vencimento nos meses subsequentes, abaixo é o modelo, onde preciso pegar a data da matricula, comparar com a data atual e adicionar os vencimentos subsequentes, alguém pode ajudar eu.
Boa noite,
Não tive tempo de tentar resolver, mais axo que esse link pode te dar uma ajuda
GregorianCalendargc=newGregorianCalendar();//capturando a dataintano=gc.get(Calendar.YEAR);intdia=gc.get(Calendar.DATE);intmes=gc.get(Calendar.MONTH);// dias a acrescentarintvenc=20;// acrescentando 20 dias a data atualgc.add(Calendar.DATE,venc);//System.out.println("Dia: " + dia + "\nMes: " + mes + "\nano: " + ano);// resultadoSystem.out.println("Dia: "+gc.get(Calendar.DATE));
L
lvbarbosa
Caso você esteja utilizando Java 8, a nova API temporal tá sensacional. É bem fácil de entender. Alguns exemplos:
publicclassMain{publicstaticvoidmain(String[]args){StringhojeRaw="01/03/2017";DateTimeFormatterformatador=DateTimeFormatter.ofPattern("dd/MM/yyyy");LocalDatehoje=LocalDate.parse(hojeRaw,formatador);// Ou simplesmente LocalDate.now()System.out.println("Hoje: "+hoje);// 1. Adicionar unidades de tempoLocalDateamanha=hoje.plus(1,ChronoUnit.DAYS);// diasLocalDatedaquiUmMes=hoje.plus(1,ChronoUnit.MONTHS);// mêsesLocalDatedaquiUmAno=hoje.plus(1,ChronoUnit.YEARS);// anosSystem.out.println("Amanha: "+amanha);System.out.println("Daqui um mês: "+daquiUmMes);System.out.println("Daqui um ano: "+daquiUmAno);// 2. Se o vencimento é com 15 dias, você pode somar 15 dias à data informadafinalintqtdDias=15;LocalDatevencimento=hoje.plusDays(qtdDias);System.out.println("Vencimento: "+vencimento);// 3. Calcula diferenca entre duas datasSystem.out.println("Diferença entre hoje e daqui um mês em dias: "+DAYS.between(hoje,daquiUmMes));}}
A
Arconi
O fundamento é esse mesmo Ivbarbosa, o que estou desenvolvendo no caso é um formulário, onde os dados são cadastrados no banco de dados e depois capturados para consulta e edição, havia criado todos objetos como String, porque era apenas para o usuario inserir a data, mas agora, quero fazer que a partir da data da matricula, seja gerado a de vencimento mensalmente, nessa parte o que enviou ajudou a clarear a ideia, já estou mudando os objetos que registram a data para Date, dai uma parte que não sei é a exemplo: para setar uma string faço assim: mod.setNome(txtNome.getText());, para um combobox mod.setEstado((String)cBEstado.getSelectedItem());, mas para data não estou sabendo fazer, tem alguma ideia sobre isso.
A
Arconi
Bom dia Jederson_Andre, o fundamento é esse mesmo, vou ler o link que enviou, valeu.
J
Jederson_Andre
bom dia,
Também estou querendo partir pro java 8, vc tem algum material para indicar???
É ótima, cobre tudo, porém é em inglês. Não sei se tem material bom em português. Na Casa do código tem um livro só sobre Java 8, deve falar sobre Streams, Lambda e essa parte de Date Time.
J
Jederson_Andre
é o livro Java 8 do Deitel? dizem q o livro dessa cara é muito bom.
Ainda nao sei nem o java 7 direito, kkkkk
L
lvbarbosa
Não sei se entendi direito. Você quer pegar a data do campo e setar no objeto?
classAluno{LocalDatedataMatricula;}// usuário colocou a data de matrícula no campo de texto// e apertou no botão de salvarAlunoaluno=newAluno();StringstringComADataQueUsuarioInformou=campoDeTextoDaData.getText();aluno.dataMatricula=LocalDate.parse(stringComADataQueUsuarioInformou,DateTimeFormatter.ofPattern("dd/MM/yyyy"));
L
lvbarbosa
Não é, é um livro bem simples só sobre as novidades do Java 8, pelos próprios autores da casa do código (acho que é do Paulo Silveira).
Eu nunca li os livros do Deitel, mas dizem que são muito bons. O do Deitel, em contrapartida, provavelmente aborda tudo de Java Standard Edition 8 (tudo do 7 + novidades do 8).