質問

私はミリ秒で一定の時間を持っています( Timestamp オブジェクト)そして私はそれを使用して GregorianCalendar 物体。どうやってやるの?

編集: :どうすれば逆を行うことができますか?

役に立ちましたか?

解決

java.sql.timestampを使用してグレゴリアンカレンダーのインスタンスとsettimeを入手してください timestamp:

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

編集:として ピーター 指摘した、 GregorianCalendar.getInstance() aを提供しません GregorianCalendar デフォルトでは、それは継承されているためですCalendar.getInstance(), 、たとえばaを提供できます BuddhistCalendar いくつかのインストールで。必ず使用してください GregorianCalender 使用する new GregorianCalendar() 代わりは。

他のヒント

カレンダーオブジェクトではなく、グレゴリアンカレンダーオブジェクトを取得します。マイケルの答えが提供するように、あなたはまた、次のことを行うことができます:

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

}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top