У меня есть часть скрипта, которая вычисляет дни, оставшиеся до события:
var currTime = Math.round(new Date().getTime() / 1000.0);
var dispDate = event.find('UnixEpoch').text();
var diffDate = (dispDate - currTime) / 86400;
var dateRound = Math.round(diffDate) - 30;
Первая строка получает текущее время эпохи Unix и сбрасывает миллисекунды. Вторая строка получает дату будущего события из XML-канала. Если я поместил оба раза в онлайн-калькулятор Epoch, я получу правильную дату для currTime и dispDate. Но когда я делю их на дни (третья строка), конечный результат отключается более чем на 30 дней, что требует использования последней строки для получения правильного количества дней.
Теперь это достаточно странно. Но происходит что-то еще, что я не могу понять. Раньше он был выключен на 31 день, и теперь это неправильно, поэтому я изменил сценарий на 30 дней, и это правильно.
Кто-нибудь может указать, что я делаю не так? Я не могу понять, почему это происходит, и я бы предпочел не менять его.