Это зависит от того, что вы подразумеваете под «разницей» - разница может иметь направление или быть абсолютной.
Если вы хотите добавить абсолютный разрыв, используйте это:
Date result = new Date(d3.getTime() + Math.abs(d2.getTime() - d1.getTime()));
Если вы заботитесь о том, чтобы d2 относился к d1 (т. Е. Если d2 равен до d1, то вы фактически вычитаете разрыв), тогда используйте:
Date result = new Date(d3.getTime() + d2.getTime() - d1.getTime());
РЕДАКТИРОВ.1013 * В ответ на комментарии да: если float a
- это количество минут, вы можете дополнительно добавить a * 60000
, чтобы получить новое длинное число миллисекунд и создать новую дату из этого.