Como que posso somar dias em uma data

Galera, boa Tarde

Gostaria de saber como que eu faço para que ao passar do dia 31/02/2017 ele irá pata o dia 01/02/2017 e assim por diante, estou com uma logica montada aqui num método static mas não estou obtendo sucesso nisso, sera que alguem pode me ajudar?

Segue as telas com os códigos,

método static

Obg

Copie o código e disponibilize na sua pergunta!

Por que você não utiliza a API JCalendar ?

Exemplo com netbeans: https://javasimples.wordpress.com/2010/01/19/adicionando-jcalendar-e-jdatechooser-paleta-do-netbeans/

Segue o código

public static List teste(Date dataInicial, Integer periodo, Integer cargaHorariaTotal, Integer cargaHorariaDia) throws ParseException {

	List<PeriodoGrade> listaPeriodoGrade = new ArrayList<PeriodoGrade>();

	SimpleDateFormat simpleDateFormatSemHora = new SimpleDateFormat("dd/mm/yyyy");

	SimpleDateFormat simpleDateFormatComHora = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");

	Calendar calendar = Calendar.getInstance();

	Integer diaSoma = 0;

	for (; cargaHorariaTotal > 0 ;) {

		calendar.setTime(dataInicial);

		calendar.add(Calendar.DATE, diaSoma); // TODO ACERTAR MES

		// - eu criei uma data base para calcular as outras datas, ela nao
		// tem a hora

		String dataBase = simpleDateFormatSemHora.format(calendar.getTime());

		// - calcular a data inicial contenando com hora, usando a data base

		String horarioManha = "08";

		String horarioTarde = "14";

		String horarioNoite = "18";

		String horarioInicial = new String();

		if (periodo == 0) {

			horarioInicial = horarioManha;

		} else if (periodo == 1) {

			horarioInicial = horarioTarde;

		} else if (periodo == 2) {

			horarioInicial = horarioNoite;

		}

		String dataInicialString = dataBase + " " + horarioInicial + ":00:00";

		Date dataInicialCalculada = simpleDateFormatComHora.parse(dataInicialString);

		// - calcular a data final contenando com hora, usando a data base

		Integer horaFinal = 0;

		if (cargaHorariaTotal < cargaHorariaDia) {

			horaFinal = Integer.parseInt(horarioInicial) + cargaHorariaTotal;

		} else {

			horaFinal = Integer.parseInt(horarioInicial) + cargaHorariaDia;

		}

		String dataFinalString = dataBase + " " + horaFinal + ":00:00";

		Date dataFinalCalculada = simpleDateFormatComHora.parse(dataFinalString);

		// - setando os valores

		PeriodoGrade periodoGrade = new PeriodoGrade();

		periodoGrade.setDataInicial(dataInicialCalculada);

		periodoGrade.setDataFinal(dataFinalCalculada);

		listaPeriodoGrade.add(periodoGrade);

		cargaHorariaTotal -= cargaHorariaDia;

		diaSoma++;

	}

	return listaPeriodoGrade;

}

}

List<PeriodoGrade> listaPeriodoGrade = new ArrayList<PeriodoGrade>();
	
	SimpleDateFormat simpleDateFormatSemHora = new SimpleDateFormat("dd/mm/yyyy");
	
	SimpleDateFormat simpleDateFormatComHora = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
	
	Calendar calendar = Calendar.getInstance();	
	
	Integer diaSoma = 0;
	
	for (; cargaHorarioTotal > 0 😉 {

		calendar.setTime(dataInicial);
		
		calendar.add(Calendar.DATE, diaSoma); //TODO ACERTAR MES
		
		calendar.add(Calendar.DATE, +1);
		
		// - eu criei uma data base para calcular as outras datas, ela nao tem a hora
		
		String dataBase = simpleDateFormatSemHora.format(calendar.getTime());
		
		// - calcular a data inicial contenando com hora, usando a data base
		
		String horarioManha = "08";
		
		String horarioTarde = "14";
		
		String horarioNoite = "18";
		
		String horarioInicial = new String();
			
		if (periodo == 1) {
			
			horarioInicial = horarioManha;
			
		} else if (periodo == 2) {
			
			horarioInicial = horarioTarde;
			
		} else if (periodo == 3) {
			
			horarioInicial = horarioNoite;
			
		}
				
		String dataInicialString = dataBase + " " + horarioInicial + ":00:00";
		
		Date dataInicialCalculada = simpleDateFormatComHora.parse(dataInicialString);

		// - calcular a data final contenando com hora, usando a data base
		
		Integer horaFinal = 0;
		
		if (cargaHorarioTotal < cargaHorarioDia) {
			
			horaFinal = Integer.parseInt(horarioInicial) + cargaHorarioTotal;
			
		} else {
			
			horaFinal = Integer.parseInt(horarioInicial) + cargaHorarioDia;
			
		}
		
		String dataFinalString = dataBase + " " + horaFinal + ":00:00";
		
		Date dataFinalCalculada = simpleDateFormatComHora.parse(dataFinalString);
		
		// - setando os valores
		
		PeriodoGrade periodoGrade = new PeriodoGrade();
		
		periodoGrade.setDataInicial(dataInicialCalculada);
		
		periodoGrade.setDataFinal(dataFinalCalculada);
		
		listaPeriodoGrade.add(periodoGrade);
					
		cargaHorarioTotal -= cargaHorarioDia;
		
		diaSoma++;
		
	}
	
	return listaPeriodoGrade;
	
}

o Códio é esse

@Viniciuspascucci , eu tenho exatamente esse código, o que vc quer é tipo 2017-01-10 + 3 dias = 2017-01-13 ?
Se sim, te quando hoje a noite, pois não estou com ele aqui.

Sim man,é isso mesmo, pode me ajudar?

// Usuário informa uma data
Date dataDoUsuario = new Date();

// Através do Calendar, trabalhamos a data informada e adicionamos 1 dia nela
Calendar c = Calendar.getInstance();
c.setTime(dataDoUsuario);
c.add(Calendar.DATE, +1);

// Obtemos a data alterada
dataDoUsuario = c.getTime();

@Viniciuspascucci , O método está pronto pra usar, é só colar aí.

public String SetData(String data, int dias) {
    String DataAlterada = "";
    String FormatoDaData = "dd/MM/yyyy";
    try {
        SimpleDateFormat format = new SimpleDateFormat(FormatoDaData);
        java.sql.Date Data = new java.sql.Date(format.parse(data).getTime());

        Calendar ob = Calendar.getInstance();
        ob.setTime(Data);
        ob.add(Calendar.DATE, +dias);

        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(FormatoDaData);
        DataAlterada = simpleDateFormat.format(ob.getTime());
    } catch (Exception e) {
        return "Data Inválida";//caso passe a data fora do formato
    }
    return DataAlterada;

}

Como usar:

String DataTeste = SetData(“12/03/2017” , 3);
15/03/2017

String DataTeste = SetData(“12/03/2017” , -3);
09/03/2017

3 = aumenta 3 dias
-3 = diminue 3 dias

Você parece estar usando Java 8, que tem várias melhorias para manipular datas. Por exemplo:

LocalDate amanha = LocalDate.now().plusDays(1);
LocalDateTime daquiAPouco = LocalDateTime.now().plus(5, ChronoUnit.MINUTES);
LocalDateTime amanhaComHorario = amanha.atTime(11, 00);

Obrigado cara, ajudou abstante

vlw Abraços

Valeu mano

Obrigado mesmo

Ahh beleza cara, vou usar aqui

Valeu