Tengo un cierto tiempo en milisegundos (en un objeto Timestamp
) y deseo usarlo para crear un objeto GregorianCalendar
. ¿Cómo puedo hacer eso?Creando una instancia de GregorianCalendar de milisegundos
EDIT: ¿Cómo hago lo contrario?
Tengo un cierto tiempo en milisegundos (en un objeto Timestamp
) y deseo usarlo para crear un objeto GregorianCalendar
. ¿Cómo puedo hacer eso?Creando una instancia de GregorianCalendar de milisegundos
EDIT: ¿Cómo hago lo contrario?
acaba de obtener una instancia de GregorianCalendar y setTime con su java.sql.Timestamp timestamp
:
Calendar cal=GregorianCalendar.getInstance();
cal.setTime(timestamp);
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);
}
}
Timestamp timestamp = new Timestamp(23423434);
Calendar calendar = GregorianCalendar.getInstance();
calendar.setTimeInMillis(timestamp.getTime());
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.
+1 para UTC timestamp info :) –
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
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 –
@KalpeshSoni "Tengo un cierto tiempo en milisegundos (en un objeto Timestamp)" - OP – aepryus