2010-12-15 23 views

Respuesta

39

acaba de obtener una instancia de GregorianCalendar y setTime con su java.sql.Timestamp timestamp:

Calendar cal=GregorianCalendar.getInstance(); 
cal.setTime(timestamp); 
1

Creo que esto funciona, aunque puede no ser el mejor enfoque:

import java.sql.Date; 
import java.sql.Timestamp; 
import java.util.GregorianCalendar; 

public class TimestampToGregorianCalendar { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     Timestamp t = new Timestamp(12356342); // replace with existing timestamp 
     Date d = new Date(t.getTime()); 
     Calendar gregorianCalendar = GregorianCalendar.getInstance(); 
     gregorianCalendar.setTime(d); 
    } 

} 
8
Timestamp timestamp = new Timestamp(23423434); 
Calendar calendar = GregorianCalendar.getInstance(); 
calendar.setTimeInMillis(timestamp.getTime()); 
+0

Vale la pena señalar que el método setTimeInMillis (...) se hereda de la clase Calendario. Además, formatear el código en su respuesta sería útil. :) – Riggy

+0

así que si estás configurando la hora en la marca de tiempo y luego obteniendo, ¿por qué crear un sello de tiempo? me late –

+0

@KalpeshSoni "Tengo un cierto tiempo en milisegundos (en un objeto Timestamp)" - OP – aepryus

33

Para obtener un objeto GregorianCalendar y no un objeto Calendario como lo proporciona la respuesta de Michael, también puede intentar lo siguiente:

long timestamp = 1234567890; 
GregorianCalendar cal = new GregorianCalendar(); 
cal.setTimeInMillis(timestamp); 

Esto supone una marca de hora de época UTC.

+2

+1 para UTC timestamp info :) –

Cuestiones relacionadas