Fórum Imprimir tabela com anos, meses e dias #589753
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
Gostei + 0
13/12/2017
Juliano
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)