ミリ秒からグレゴリアンカレンダーインスタンスを作成します
-
10-10-2019 - |
質問
私はミリ秒で一定の時間を持っています( 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);
}
}
所属していません StackOverflow