日付を上書きする必要がある要件があります
SimpleDateFormat を使用して時間 (hh:mm:ss) を解析すると、日付のオブジェクトが得られます (Thu Jan 01 hh:mm:ss IST 1970) エポック日付を今日の日付 (時間なし) で上書きしたいと考えています。
joda/jdk にこれを実行できる API またはメソッドはありますか?
基本的にはできませんが、できることは、「時間」変換の値を別の日付 (今日など) とマージすることです...たとえば
try {
Date date = new SimpleDateFormat("hh:mm:ss").parse("13:30:51");
System.out.println(date);
Calendar time = Calendar.getInstance();
time.setTime(date);
Calendar today = Calendar.getInstance();
today.set(Calendar.HOUR_OF_DAY, time.get(Calendar.HOUR_OF_DAY));
today.set(Calendar.MINUTE, time.get(Calendar.MINUTE));
today.set(Calendar.SECOND, time.get(Calendar.SECOND));
System.out.println(today.getTime());
} catch (ParseException ex) {
ex.printStackTrace();
}
より少ないコードでこれを行うには、おそらく非常に優れた方法がありますが、非推奨の方法を避けようとしていました。
私にとって、これは出力します...
Thu Jan 01 13:30:51 EST 1970
Thu Oct 31 13:30:51 EST 2013
ただし、重要な場合に備えて、これは のミリ秒値をリセットしないことに注意してくださいtoday
Calendar
...