У меня есть событие, дата и время этого события отформатированы как unix отметка времени.
В JavaScript (не ищу плагин-подход, такой как modern.js
), я Я сейчас пытаюсь определить разницу во времени между сегодняшней датой и датой события.
Я хочу реализовать функцию «обратного отсчета до события», которая будет отсчитывать дни, часы, минуты и секунды до события date.
{{ event_date_and_time }}
в моем коде ниже - это переменная HuBL
.
Текущий подход:
var todays_date = new Date().getTime() / 1000;
var event_date = new Date({{ event_date_and_time }}).getTime() / 1000
var start = todays_date;
var end = event_date;
console.log(todays_date); // this logs "1596626215.983"
console.log(end); // this logs "1596888000"
function timeDifference(date1,date2) {
var difference = date1 - date2;
var daysDifference = Math.floor(difference/1000/60/60/24);
difference -= daysDifference*1000*60*60*24
var hoursDifference = Math.floor(difference/1000/60/60);
difference -= hoursDifference*1000*60*60
var minutesDifference = Math.floor(difference/1000/60);
difference -= minutesDifference*1000*60
var secondsDifference = Math.floor(difference/1000);
console.log('difference = ' +
daysDifference + ' day/s ' +
hoursDifference + ' hour/s ' +
minutesDifference + ' minute/s ' +
secondsDifference + ' second/s ');
}
timeDifference(start, end);
Итак, время моего теста было 12:15 (todays_date
). Дата события установлена на 8 августа 12:00.
Результаты, которые я получаю с приведенными выше:
difference = -1 day/s 23 hour/s 55 minute/s 38 second/s
Что явно неверно, где я ошибаюсь?