2010-12-15 2 views

ответ

39

Просто получить экземпляр GregorianCalendar и SetTime с java.sql.Timestamp timestamp:

Calendar cal=GregorianCalendar.getInstance(); 
cal.setTime(timestamp); 
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); 
    } 

} 
8
Timestamp timestamp = new Timestamp(23423434); 
Calendar calendar = GregorianCalendar.getInstance(); 
calendar.setTimeInMillis(timestamp.getTime()); 
+0

Стоит отметить, что метод setTimeInMillis (...) наследуется от класса Calendar. Кроме того, было бы полезно форматировать код в вашем ответе. :) – Riggy 2010-12-15 13:27:32

+0

, так что если вы устанавливаете время в timestamp, а затем получаете, зачем вообще создавать объект timestamp? beats me – 2017-09-12 21:29:49

33

Чтобы получить объект GregorianCalendar, а не объект календаря, такой как ответ Майкла, вы также можете попробовать следующее:

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

Это предполагает отметку времени в формате UTC.