java - fecha - xmlgregoriancalendar example
Creando una instancia de GregorianCalendar de milisegundos (4)
Tengo un cierto tiempo en milisegundos (en un objeto Timestamp
) y quiero usarlo para crear un objeto GregorianCalendar
. ¿Cómo puedo hacer eso?
EDITAR : ¿Cómo hago lo contrario?
Creo que esto funciona, aunque puede que no sea 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);
}
}
Para obtener un objeto GregorianCalendar y no un objeto de Calendario como el que proporciona Michael, también puedes probar lo siguiente:
long timestamp = 1234567890;
GregorianCalendar cal = new GregorianCalendar();
cal.setTimeInMillis(timestamp);
Esto supone una marca de tiempo de época UTC.
Solo obtén una instancia de GregorianCalendar y setTime con tu timestamp
java.sql.Timestamp:
Calendar cal=GregorianCalendar.getInstance();
cal.setTime(timestamp);
Edición: Como señaló peterh , GregorianCalendar.getInstance()
no proporcionará un GregorianCalendar
de forma predeterminada, porque se hereda de Calendar.getInstance()
, que puede proporcionar, por ejemplo, un BuddhistCalendar
en algunas instalaciones. Para asegurarse de usar un GregorianCalender
use el new GregorianCalendar()
lugar.
Timestamp timestamp = new Timestamp(23423434);
Calendar calendar = GregorianCalendar.getInstance();
calendar.setTimeInMillis(timestamp.getTime());