0

日付を上書きする必要がある要件があります

SimpleDateFormat を使用して時間 (hh:mm:ss) を解析すると、日付のオブジェクトが得られます (Thu Jan 01 hh:mm:ss IST 1970) エポック日付を今日の日付 (時間なし) で上書きしたいと考えています。

joda/jdk にこれを実行できる API またはメソッドはありますか?

4

1 に答える 1

0

基本的にはできませんが、できることは、「時間」変換の値を別の日付 (今日など) とマージすることです...たとえば

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...

于 2013-10-31T05:19:03.983 に答える