web-dev-qa-db-ja.com

Java.sql.TimestampからJava.util.Dateに変換する方法は?

つまりこのコード

startDate = new Date(timestampValue.getTime));

私に与える:

2012-16-02 05:16:17

いつ

System.out.println(timestampValue);

リターン:

2012-01-02 05:16:17.

43
Marcin Petrów

代わりに Calendar を使用する必要があります。

Calendar start = Calendar.getInstance();
start.setTimeInMillis( timeStampValue.getTime() );
16
Jamie

クラスJava.sql.TimeStampJava.util.Date

TimeStampオブジェクトをDate参照に直接割り当てることができます。

TimeStamp timeStamp = //whatever value you have;
Date startDate = timestampValue;
51
Arpit Jain

問題はおそらく、Dateが非推奨であるという事実に起因しています。

使用を検討する

Java.util.Calendar

または

Joda-Time

2015年編集:

Java 8以降には、新しい Java.timeパッケージ が組み込まれています。これは Joda-Time に似ています。

6
Pierre-Antoine
public static Date convertTimestampToDate(Timestamp timestamp)  {
        Instant ins=timestamp.toLocalDateTime().atZone(ZoneId.systemDefault()).toInstant();
        return  Date.from(ins);
}
3
jaimeRambo

派手な新しいJava 8ウェイはDate.from(timestamp.toInstant())です。私の似たような答えを参照してください elsewhere

2
Garret Wilson

タイムスタンプは日付: https://docs.Oracle.com/javase/7/docs/api/Java/sql/Timestamp.html

Java.lang.Object
    Java.util.Date
        Java.sql.Timestamp
1
Pablo Pazos
Java.sql.ResultSet rs;
//fill rs somehow
Java.sql.Timestamp timestamp = rs.getTimestamp(1); //get first column
long milliseconds = timestamp.getTime() + (timestamp.getNanos() / 1000000);
Java.util.Date date = return new Java.util.Date(milliseconds);
1
andrej