ミリ秒単位の特定の時間(Timestamp
オブジェクト内)があり、それを使用してGregorianCalendar
オブジェクトを作成します。どうやってやるの?
[〜#〜] edit [〜#〜]:逆にするにはどうすればよいですか?
Java.sql.Timestamp timestamp
でGregorianCalendarとsetTimeのインスタンスを取得するだけです。
_Calendar cal=GregorianCalendar.getInstance();
cal.setTime(timestamp);
_
編集:peterh が指摘したように、GregorianCalendar.getInstance()
はGregorianCalendar
を提供しませんこれは、fromCalendar.getInstance()
から継承されるためです。たとえば、一部のインストールではBuddhistCalendar
を提供できます。確実にGregorianCalender
を使用するには、代わりにnew GregorianCalendar()
を使用してください。
Calendarオブジェクトではなく、GregorianCalendarオブジェクトを取得する。 Michaelの回答が提供するように、次のことも実行できます。
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);
}
}