Вывести больше на 5 секунд фактической даты
Как вывести больше на 5 секунд фактической даты, возможно ли так сделать?
Причина, есть Дата создания и Дата закрытия. Дата закрытия вносится в БД раньше на считанные секунды. Т.е. при нажатии на кнопку Завершить Дата закрытия обгоняет Дату создания, причем у Даты Создания в БД - sysdate.
@Temporal(TemporalType.DATE)
@DateTimeFormat(pattern = "dd.MM.yyyy")
private Date date_end;
. . .
public Date getDate_end() {
return date_end;
}
public void setDate_end(Date date_end) {
this.date_end = date_end;
}
PetitController.java
if(para.trim().equals("Завершить")){
if(petit.getPresentId() == 2 && petit.getBloutboindletter2016().getDate_response().equals("")){
petit.getBlockger2016().setState(2);
if(petit.getBloutboindletter2016().getResponsible().equals("")){ petit.setUsername(getUserName());}
else{petit.setUsername(petit.getBloutboindletter2016().getResponsible());}
}else{
if(petit.getPresentId() == 2 && !petit.getBloutboindletter2016().getDate_response().equals(""))
{
petit.getBlockger2016().setState(3);
DateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss.S");
petit.getBlockger2016().setDate_end(df.parse(petit.getBloutboindletter2016().getDate_response().concat(" 01:00:00.123")));
if(petit.getBloutboindletter2016().getResponsible().equals("")){ petit.setUsername(getUserName());}
else{petit.setUsername(petit.getBloutboindletter2016().getResponsible());}
}
else{
petit.getBlockger2016().setState(3);
petit.getBlockger2016().setDate_end(new Date());
}
}
}
Например в БД
09.07.2021 12:41:04
Нужно
09.07.2021 12:41:09
Ответы (1 шт):
Автор решения: Эникейщик
→ Ссылка
Вот так можно:
int seconds = date_end.getSeconds();
date_end.setSeconds(seconds + 5);
Но и getSecond() и setSeconds() помечены как устаревшие и вместо Date предлагается использовать класс Calendar. Тогда можно так:
Calendar end = Calendar.getInstance();
int seconds = end.get(Calendar.SECOND);
end.set(Calendar.SECOND, seconds + 5);
date_end = end.getTime(); // конвертация в Date()