Mam pewien czas w milisekundach (w obiekcie Timestamp
) i chcę go użyć do utworzenia obiektu GregorianCalendar
. Jak mogę to zrobić?Tworzenie instancji GregorianCalendar od milisekund
EDIT: Jak wykonać odwrotną stronę?
Mam pewien czas w milisekundach (w obiekcie Timestamp
) i chcę go użyć do utworzenia obiektu GregorianCalendar
. Jak mogę to zrobić?Tworzenie instancji GregorianCalendar od milisekund
EDIT: Jak wykonać odwrotną stronę?
Po prostu instancję kalendarz gregoriański i setTime z java.sql.Timestamp timestamp
:
Calendar cal=GregorianCalendar.getInstance();
cal.setTime(timestamp);
Wierzę, że to działa, chociaż może nie być najlepszym rozwiązaniem:
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());
Aby uzyskać obiekt GregorianCalendar, a nie obiekt kalendarza, taki jak odpowiedź Michaela, można również wypróbować następujące elementy:
long timestamp = 1234567890;
GregorianCalendar cal = new GregorianCalendar();
cal.setTimeInMillis(timestamp);
Zakłada to znacznik czasu UTC epoki.
+1 dla informacji o czasie timera UTC :) –
Warto zauważyć, że metoda setTimeInMillis (...) jest dziedziczona z klasy Kalendarz. Pomocne byłoby również sformatowanie kodu w twojej odpowiedzi. :) – Riggy
, więc jeśli ustawiasz czas w znaczniku czasu, a następnie dostajesz, dlaczego w ogóle tworzysz obiekt znacznika czasowego? bije mnie –
@KalpeshSoni "Mam pewien czas w milisekundach (w obiekcie Timestamp)" - OP – aepryus