Сравнение текущего времени с заданным Javascript

383
19 сентября 2017, 09:51

Доброго дня!

Помогите реализовать функцию сравнения текущего времени с заданным в переменной.

Есть такой скрипт с условиями и выводом текста при выполнении условия, но как я понимаю есть определённый формат вывода времени - так как при матиматическом действии над переменными я получаю такой вот вывод...

Закроемся через:-6970.577217425925

Условия так же выполняются не верно.

<script type="text/javascript">
nowDate = new Date()
openDate = 32400000
closeDate = 64800000
if (nowDate > openDate & nowDate < closeDate) {
    document.write ('Открыто');
}
if (nowDate < openDate & nowDate > closeDate) {
    document.write ('Закрыто');
}
timeToOut = closeDate - nowDate;
document.write ('Закроемся через:' + timeToOut / 1000 / 60 / 60 / 60);
</script> 
Answer 1

Взяв чужой пример за основу и доработав его под свои нужды я сделал то что мне нужно.

<script type="text/javascript">
function showTime() {
  var monthsArr = ["Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", 
  "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря"];
  var daysArr = ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"];
  var dateObj = new Date();
  var year = dateObj.getFullYear();
  var month = dateObj.getMonth();
  var numDay = dateObj.getDate();
  var day = dateObj.getDay();
  var hour = dateObj.getHours();
  var minute = dateObj.getMinutes();
  var second = dateObj.getSeconds();
  if (minute < 10) minute = "0" + minute;
  if (second < 10) second = "0" + second;
  openH = 09;
  openM = 00;
  openS = 00;
  closeH = 18;
  closeM = 00;
  closeS = 00;

  if ((openH < hour) && (openM < minute) && (openS < second)) document.write ('<br> Сечас открыто');
  if ((openH > hour) && (openM > minute) && (openS > second)) document.write ('<br> <p style="color: #ff0707;">Сейчас закрыто</p>');

  toCloseH = closeH - hour -1;
  toCloseM = 60 - minute;
  toCloseS = 60 - second;
  document.write ('<br>До закрытия: ' + toCloseH + "ч " + toCloseM + "м");
  var out = daysArr[day] + ", " + numDay + " " + monthsArr[month] + " " + year + ", " + hour + ":" + minute + ":" + second;
 return ".";
}
document.write (showTime());
</script> 
READ ALSO
Найти все теги с изображениями (правило background-image или тег img+src) и собрать их в массив

Найти все теги с изображениями (правило background-image или тег img+src) и собрать их в массив

Господа, данный скрипт, определяет есть ли на странице теги с правилом css "background-image" и тег "img" с атрибутом "src" для определения их значения

348
Изменение массива JS

Изменение массива JS

Приходит массив в виде:

230
Vue.js динамический рендеринг

Vue.js динамический рендеринг

Есть ли возможность динамической отрисовки в Vuejs ? К примеру отрисовка по евенту ? Примерно так

248