Manejo de fecha

yoa_twins
07 de Abril del 2005
Hola,
Estoy trabajando con fechas y tengo que sumar y restar un número de días a una fecha concreta. Con este código:

GregorianCalendar fecha = new GregorianCalendar(new Locale("sp","SP",""));
fecha.set(anno, mes, dia);

fecha.add(Calendar.DATE, pDias);

no tengo ningún problema, salvo cuando a la fecha 28/02/20005 la sumo 6 días (o le sumo cualquier otro número de días que implique el paso a otro mes...)

Alguien sabe cómo resolver esto? También he probado a pasar a milisegundos, sumar los milisegundos de los días y luego transformarlo de nuevo en una fecha, pero ocurre exactamente lo mismo.

Un saludo y gracias por adelantado