как вернуть экземпляр объекта за 30 минут (Instance.now () -30 минут) - PullRequest
0 голосов
/ 03 октября 2018
private Instant submissionDate = Instant.now();


void scheduleResult() {
    if(submissionDate befor 30 min)
            execute;
}

как выполнить задачу планировщика, если submisisionDate старше 30 минут.

Ответы [ 3 ]

0 голосов
/ 03 октября 2018

Вы можете инициализировать 30 минут предыдущей даты:

LocalDateTime halfHourInPast = LocalDateTime.now().minusMinutes(30);

и использовать ее для сравнения вашей даты:

LocalDateTime submissionDate = LocalDateTime.ofInstant(submissionDateInstant, ZoneOffset.UTC);
if(submissionDate.isBefore(halfHourInPast)){
   //schedule
}
0 голосов
/ 03 октября 2018
if ( submissionDate.isBefore(Instant.now().minus(30, ChronoUnit.MINUTES))){
//                      run
}
0 голосов
/ 03 октября 2018

Использование Instant#minus(30, ChronoUnit.MINUTES)

Instant submissionDate = ...

Instant now = Instant.now(); 
Instant thirtyMinutesBeforeNow = now.minus(30, ChronoUnit.MINUTES);

if (submissionDate.isBefore(thirtyMinutesBeforeNow)) {

}

или Instant#minusSeconds(1800)

Instant submissionDate = ...

Instant now = Instant.now(); 
Instant thirtyMinutesBeforeNow = now.minusSeconds(1800);

if (submissionDate.isBefore(thirtyMinutesBeforeNow)) {

}
...