つまりこのコード
startDate = new Date(timestampValue.getTime));
私に与える:
2012-16-02 05:16:17
いつ
System.out.println(timestampValue);
リターン:
2012-01-02 05:16:17.
代わりに Calendar を使用する必要があります。
Calendar start = Calendar.getInstance();
start.setTimeInMillis( timeStampValue.getTime() );
クラスJava.sql.TimeStamp
はJava.util.Date
。
TimeStamp
オブジェクトをDate
参照に直接割り当てることができます。
TimeStamp timeStamp = //whatever value you have;
Date startDate = timestampValue;
問題はおそらく、Dateが非推奨であるという事実に起因しています。
使用を検討する
Java.util.Calendar
または
2015年編集:
Java 8以降には、新しい Java.timeパッケージ が組み込まれています。これは Joda-Time に似ています。
public static Date convertTimestampToDate(Timestamp timestamp) {
Instant ins=timestamp.toLocalDateTime().atZone(ZoneId.systemDefault()).toInstant();
return Date.from(ins);
}
派手な新しいJava 8ウェイはDate.from(timestamp.toInstant())
です。私の似たような答えを参照してください elsewhere 。
タイムスタンプは日付: https://docs.Oracle.com/javase/7/docs/api/Java/sql/Timestamp.html
Java.lang.Object
Java.util.Date
Java.sql.Timestamp
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);