从毫秒创建GregorianCalendar实例

时间:2010-12-15 13:13:07

标签: java timestamp gregorian-calendar

我有一定的时间(毫秒)(在Timestamp对象中),我想用它来创建一个GregorianCalendar对象。我怎么能这样做?

编辑:我该怎么做?

4 个答案:

答案 0 :(得分:41)

只需使用java.sql.Timestamp timestamp获取GregorianCalendar和setTime的实例:

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

修改 正如peterh所指出的那样,GregorianCalendar.getInstance()默认情况下不会提供GregorianCalendar,因为它是从Calendar.getInstance()继承的,可以在某些地方提供BuddhistCalendar安装。确保使用GregorianCalender使用new GregorianCalendar()代替。

答案 1 :(得分:37)

获取GregorianCalendar对象而不是Calendar对象。与迈克尔的回答一样,您也可以执行以下操作:

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

这假定为UTC纪元时间戳。

答案 2 :(得分:10)

Timestamp timestamp = new Timestamp(23423434);
Calendar calendar = GregorianCalendar.getInstance();
calendar.setTimeInMillis(timestamp.getTime());

答案 3 :(得分:1)

我相信这是有效的,虽然它可能不是最好的方法:

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);
    }

}