Imprimir tabela com anos, meses e dias
13/12/2017
0
Bom dia, alguém pode me ajudar com isso.
Preciso imprimir uma tabela com o período a partir de duas datas informadas.
Por exemplo, se o usuário digitar 01/12/2017 e 31/01/2018, deverá aparecer assim.
Alguém pode postar algum exemplo de como fazer isso? Não é trabalho de escola, estou usando Calendar para fazer, mas não consigo criar essa tabela com os for.
Agradeço demais a ajuda.
Seria assim:
2017 2018
Dez Jan
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Preciso imprimir uma tabela com o período a partir de duas datas informadas.
Por exemplo, se o usuário digitar 01/12/2017 e 31/01/2018, deverá aparecer assim.
Alguém pode postar algum exemplo de como fazer isso? Não é trabalho de escola, estou usando Calendar para fazer, mas não consigo criar essa tabela com os for.
Agradeço demais a ajuda.
Seria assim:
2017 2018
Dez Jan
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Marcos
Curtir tópico
+ 0
Responder
Posts
13/12/2017
Marcos
Estou usando essa função para pegar os dias do período.
private List<Date> listaDias (Date dtIni, Date dtFim) { List<Date> result = new ArrayList<Date>(); Calendar start = Calendar.getInstance(); start.setTime(dtIni); Calendar end = Calendar.getInstance(); end.setTime(dtFim); end.add(Calendar.DAY_OF_YEAR, 1); while (start.before(end)) { result.add(start.getTime()); start.add(Calendar.DAY_OF_YEAR, 1); } return result; }
Responder
13/12/2017
Juliano B
Opa, dá uma olhada nesse código e vê se te ajuda.
public class Data { int dia; int mes; int ano; public Data(int dia, int mes, int ano) { this.dia = dia; this.mes = mes; this.ano = ano; } public boolean validaData() { if(ano >= 0) { if((mes >= 1) && (mes <=12)) { if(mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12) { if (dia >= 1 && dia <= 31) { return true; } else { return false; } } else if(mes == 4 || mes == 6 || mes == 9 || mes == 11) { if (dia >= 1 && dia <= 30) { return true; } else { return false; } } else { //Mês de fevereiro if(ano % 4 != 0) { //Ano não é bissexto if(dia >= 1 && dia <= 28) { return true; } else { return false; } } else if(ano % 4 == 0) {//Ano pode ser bissexto if(ano % 100 != 0) { //Ano bissexto if(dia >= 1 && dia <= 29) { return true; } else { return false; } } else { if(ano % 400 == 0) { return true; } else { return false; } } } } } else { return false; } } else { return false; } return true; } public void mostrarData() { if(validaData()) { System.out.println(this.dia+"/"+this.mes+"/"+this.ano); } else { System.out.println("Data não é válida."); } } public static void main(String[] args) { Data data = new Data(30,2,2016); data.validaData(); data.mostrarData(); } }
Responder
Clique aqui para fazer login e interagir na Comunidade :)