У меня есть определенное время в миллисекундах (в объекте Timestamp
), и я хочу использовать его для создания объекта GregorianCalendar
. Как я могу это сделать?Создание экземпляра GregorianCalendar из миллисекунд
EDIT: Как мне сделать обратное?
У меня есть определенное время в миллисекундах (в объекте Timestamp
), и я хочу использовать его для создания объекта GregorianCalendar
. Как я могу это сделать?Создание экземпляра GregorianCalendar из миллисекунд
EDIT: Как мне сделать обратное?
Просто получить экземпляр GregorianCalendar и SetTime с java.sql.Timestamp timestamp
:
Calendar cal=GregorianCalendar.getInstance();
cal.setTime(timestamp);
Я считаю, что это работает, хотя это может быть не лучший подход:
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());
Чтобы получить объект GregorianCalendar, а не объект календаря, такой как ответ Майкла, вы также можете попробовать следующее:
long timestamp = 1234567890;
GregorianCalendar cal = new GregorianCalendar();
cal.setTimeInMillis(timestamp);
Это предполагает отметку времени в формате UTC.
Стоит отметить, что метод setTimeInMillis (...) наследуется от класса Calendar. Кроме того, было бы полезно форматировать код в вашем ответе. :) – Riggy 2010-12-15 13:27:32
, так что если вы устанавливаете время в timestamp, а затем получаете, зачем вообще создавать объект timestamp? beats me – 2017-09-12 21:29:49