从毫秒来创建GregorianCalendar实例
-
10-10-2019 - |
题
我有一定的时间在毫秒 Timestamp
对象),我想使用它来创建一个 GregorianCalendar
目的。我怎样才能做到这一点?
编辑: :如何进行反向?
解决方案
只需使用Java.sql.timestamp获得Gregoriancalendar和Settime的实例 timestamp
:
Calendar cal=GregorianCalendar.getInstance();
cal.setTime(timestamp);
编辑:作为 彼得 指出, GregorianCalendar.getInstance()
不会提供 GregorianCalendar
默认情况下,因为它是从Calendar.getInstance()
, ,例如可以提供例如 BuddhistCalendar
在某些装置上。确保使用 GregorianCalender
利用 new GregorianCalendar()
反而。
其他提示
要获取GregorianCalendar对象,而不是日历对象。像迈克尔的答案一样,您也可以做以下操作:
long timestamp = 1234567890;
GregorianCalendar cal = new GregorianCalendar();
cal.setTimeInMillis(timestamp);
这是一个UTC时期时间戳。
Timestamp timestamp = new Timestamp(23423434);
Calendar calendar = GregorianCalendar.getInstance();
calendar.setTimeInMillis(timestamp.getTime());
我相信这有效,尽管这可能不是最好的方法:
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);
}
}
不隶属于 StackOverflow