Timestamp

como faço para adicionar um dia a um timestamp?

existe alguma função pronta para isso?

obrigada

A classe java.sql.Timestamp e mais precisa que a java.util.Date. A classe Timestamp contem o metodo getTime( ) que nao retorna a precisao dos milisegundos, mas se voce sabe que o banco de dados armazena os milisegundos, o valor exato pode ser recuperado usando o metodo getNanos( ), como no seguinte codigo:

long time = timestamp.getTime( ) + timestamp.getNanos( )/1000000;

A precisao a nivel de nanosegundos e a razao pela qual a classe java.sql.Timestamp nunca sera igual a java.util.Date, embora a java.util.Date poderia se igualar a java.sql.Timestamp. Entretanto, isso quebraria a simetria que o medoto equals( ) deve manter.

Calendar cal = new GregorianCalendar();

// Get the components of the date
int era = cal.get(Calendar.ERA);               // 0=BC, 1=AD
int year = cal.get(Calendar.YEAR);             // 2002
int month = cal.get(Calendar.MONTH);           // 0=Jan, 1=Feb, ...
int day = cal.get(Calendar.DAY_OF_MONTH);      // 1...
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK); // 1=Sunday, 2=Monday, ...