java.util.CalendarでのgetTime結果
お世話になります。
カレンダークラスを使用してDBへ格納するためのシリアル値を取得しようとしています。
やりたいことは任意の年月日(時分秒は無し)をPostgreSqlのDATEフィールドに日付として格納させ、レコード取得した結果の該当DATEフィールドと先ほどの任意の年月日を比較させたいのです。予想される結果は「一致」なのですがこれが不一致となってしまいます。
例えばjava.util.CalenderクラスのgetTime()を使用して取得されるシリアル値は1174611700734ですが、DBへ格納された後にレコードから取得されるデータは1174575600000となっていて比較しても不一致となってしまいます。
java.util.CalenderのgetTime()結果は実行するたびに値が異なるようで、下3桁が上記例のように"734"だったり"015"だったりします。
getTime()の結果で返されるシリアル値の下3桁を"000"とする方法はあるのでしょうか?
java.util.Calendar xcal = java.util.Calendar.getInstance();
xcal.set(2007, 3 - 1, 23, 0, 0, 0);
java.util.Date xday = xcal.getTime();
#xdayには"1174575600015"と格納されています。
#xdayをそのままPostgreSqlへデータ投入すると、日付のみ格納され次回取得時には"1174575600000"となります。
お礼
ありがとうございます。 参考にさせて頂きます。