JS - Возвращает количество активных дней, оставшихся от PIN-кода, на основании даты окончания - PullRequest
0 голосов
/ 29 февраля 2020

Я пытаюсь преобразовать формулу Excel в JS для использования на веб-сайте. Я хочу использовать что-то похожее на IF TODAY, например, =IF(B2;B2-TODAY();" ") в таблице, и он рассчитывает каждую строку, чтобы увидеть, активен ли PIN-код или срок его действия истек на основе даты окончания и текущей даты.

Я также хотел бы, чтобы столбец (не вся строка) изменил цвет фона на зеленый, если активен, и красный, если срок его действия истек. Смотрите прикрепленное изображение, которое показывает, как выглядит таблица в Excel. На снимке СЕГОДНЯ 2020-02-29 (ГГГГ-ММ-ДД).

enter image description here

1 Ответ

0 голосов
/ 29 февраля 2020

Вы можете получить разницу в днях следующим образом:

function calculateActive(endDate) {
  var now = new Date();
  endDate = new Date(endDate)
  
  if(endDate > now) {
  	return Math.round(Math.abs((now) - (endDate))/8.64e7);
  } else {
  	return (Math.round(Math.abs((now) - (endDate))/8.64e7))*-1;
  }
}

var result = calculateActive("2020-02-15")

if(result > 0) {
	document.getElementById("a").style.color = `green`
} else {
	document.getElementById("a").style.color = `red`
}

document.getElementById("a").innerHTML = result
<p>
Days Since: 
</p>
<span id="a"></span>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...