2010-12-15 13 views

Antwort

39

Nur eine Instanz von GregorianCalendar und setTime erhalten mit Ihrem java.sql.Timestamp timestamp:

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

Ich glaube, das funktioniert, obwohl es nicht der beste Ansatz sein kann:

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

ist zu beachten, dass die Methode setTimeInMillis (...) von der Calendar-Klasse geerbt wird. Auch das Formatieren des Codes in Ihrer Antwort wäre hilfreich. :) – Riggy

+0

also, wenn Sie Zeit im Zeitstempel setzen und dann bekommen, warum überhaupt Zeitstempel-Objekt erstellen? Beats me –

+0

@KalpeshSoni "Ich habe eine bestimmte Zeit in Millisekunden (in einem Timestamp-Objekt)" - OP – aepryus

33

Um ein GregorianCalendar-Objekt und kein Kalender-Objekt wie Michael's Antwort zu erhalten, können Sie auch Folgendes versuchen:

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

Dies setzt einen UTC-Epochenzeitstempel voraus.

+2

+1 für UTC Epochen Timestamp Info :) –

Verwandte Themen