0

Javaで2つの日付を合計したい場合、機能しません:

System.out.println(date + " <---- date");
System.out.println(time + " <---- time");
System.out.println(new Date(date.getTime() + time.getTime()) + " <---- new Date(time.getTime() + date.getTime())");

次の出力が得られます。

Wed Nov 06 00:00:00 CET 2013 <---- date
Thu Jan 01 11:51:14 CET 1970 <---- time
Wed Nov 06 10:51:14 CET 2013 <---- new Date(time.getTime() + date.getTime())

...しかし、私がそれを使えばうまくいきCalenderます!

  Calendar calendar = Calendar.getInstance();
  calendar.setTime(time);
  int hour = calendar.get(Calendar.HOUR_OF_DAY);
  int min = calendar.get(Calendar.MINUTE);

  calendar.setTime(date);
  calendar.set(Calendar.HOUR_OF_DAY, hour);
  calendar.set(Calendar.MINUTE, min);
  calendar.set(Calendar.SECOND, 0);
  calendar.set(Calendar.MILLISECOND, 0);

  Date myDate = calendar.getTime();
  System.out.println(myDate);

結果は

Wed Nov 06 11:51:00 CET 2013

どちらが正しい

誰でも理由を説明できますか?

4

1 に答える 1