/* Dentro de um software de RH, na parte de datas de experiência, deve ser calculado 30 e 45 dias a partir de uma data inicial */
import java.text.SimpleDateFormat;
import java.util.Calendar;
/**
*
* @author Mario Cezzare Angelicola Chiodi mcezzare@gmail.com
*/
public class testeData {
private static void calculaPeriodoExperiencia(String dataInicial,int periodo, int dias) {
Calendar data1 = Calendar.getInstance();
Calendar dataInicio = Calendar.getInstance();
int dia, mes, ano;
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
switch (periodo) {
case 1:
if (!" / / ".equals(dataInicial)) {
String tmpData[] = dataInicial.split("\\/");
dia = Integer.parseInt(tmpData[0]);
mes = Integer.parseInt(tmpData[1]) - 1; // aqui passo -1
ano = Integer.parseInt(tmpData[2]);
dataInicio.set(ano, mes, dia);
data1.set(ano, mes, dia);
data1.add(Calendar.DAY_OF_WEEK, dias);
System.out.println("inicio: " + sdf.format(dataInicio.getTime()));
System.out.println(dias + " : " + sdf.format(data1.getTime()));
}
break;
// case 2 , se forem outros campos texto no form
}
}
public static void main(String args[]) {
String dataInicial = "01/01/2000";
calculaPeriodoExperiencia(dataInicial,1, 29); // q são 30 dias , mas conta a data inicio
calculaPeriodoExperiencia(dataInicial,1, 44);// q são 45 dias , mas conta a data inicio
}
}
saida :
inicio: 01/01/2000
29 : 30/01/2000
inicio: 01/01/2000
44 : 14/02/2000