Момент: пользователь должен иметь возможность выполнять X, пока текущее время и дата не превышают 30 минут до запрошенного времени - PullRequest
0 голосов
/ 06 апреля 2020

Я пытался сделать это

const currentTime = moment(moment().format('MMMM DD YYYY, h:mm a'));
        const timeDifference = moment.duration(currentTime.diff(details.requestedStartTimestamp)).asMinutes();

Но я запутался, потому что timeDifference отображает отрицательное значение, если дата является сегодняшним или будущим, и положительное значение, если оно в прошлом, что вынуждает меня добавить это условие:

if (timeDifference <= -30) {выполнить x} </p>

1 Ответ

0 голосов
/ 06 апреля 2020

time1.diff(time2) означает time1 - time2, поэтому получение отрицательного результата для будущей даты является правильным.

В примечании не нужно форматировать время, чтобы получить объект moment для сейчас.

Чтобы получить желаемый результат, этот код может работать:

const now = moment();
const requestedTime = moment(details.requestedStartTimestamp);
const diff = requestedTime.diff(now, 'minutes');

if (diff >= 30) {
  // ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...