Я пытаюсь найти разницу в дате и времени между двумя датами (и временем). Я пытаюсь реализовать функцию обратного отсчета (до даты события), но при моем подходе возникают проблемы.
Примечание : некоторые из переменных, определенных ниже, находятся в HuBL
, HuBL
можно использовать в Javascript
, если они находятся в одном файле.
Вот мой текущий подход:
1. Как я получаю данные и время
В HubSpot
у меня есть таблица базы данных. В этой таблице у меня есть столбец типа date and time
. Для справки, значение в этом поле следующее:
I've ran a for loop
to obtain its date
and time
as separate variables (event_date
is the column name in the database table):
{% for data in table_query %}
{% set event_date = data.event_date|datetimeformat('%B %e, %Y') %}
{% set event_time = data.event_date|datetimeformat('%H %M') %}
{% endfor %}
To see the datetimeformat
parameters I've used - см. Документацию здесь
Выполнение {{ event_date }}
печатает: 7 сентября 2020 г. Выполнение {{ event_time }}
распечатывает: 11 59
2. Теперь, когда у меня есть дата и время в варах, я пытаюсь найти разницу
В герое. html:
{% for data in table_query %}
{% set event_date = data.event_date|datetimeformat('%B %e, %Y') %}
{% set event_time = data.event_date|datetimeformat('%H %M') %}
{% endfor %}
<script>
var event_date = new Date('{{ event_date }}');
var todays_date = new Date();
function getDifferenceInDays(event_date, todays_date) {
var diffInMs = Math.abs(todays_date - event_date);
return diffInMs / (1000 * 60 * 60 * 24);
}
function getDifferenceInHours(event_date, todays_date) {
var diffInMs = Math.abs(todays_date - event_date);
return diffInMs / (1000 * 60 * 60);
}
function getDifferenceInMinutes(event_date, todays_date) {
var diffInMs = Math.abs(todays_date - event_date);
return diffInMs / (1000 * 60);
}
function getDifferenceInSeconds(event_date, todays_date) {
var diffInMs = Math.abs(todays_date - event_date);
return diffInMs / 1000;
}
console.log(getDifferenceInDays(event_date, todays_date));
</script>
Мои проблемы:
С указанным выше я получаю console.log
из NaN
. Я пытаюсь получить результаты в days
, hours
, minutes
, seconds
, потому что я делю его на таймер обратного отсчета до события.
Я полностью потерялся в как я смогу проверить время события - пытаясь получить как можно более точный таймер обратного отсчета, чтобы отсчет времени до начала события, но не уверен, как я могу это сделать
Примечание : Пометка twig
тоже, так как синтаксис аналогичен HubL