У меня есть часть скрипта, которая вычисляет количество дней, оставшихся до события:
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-канала. Если я введу оба значения времени в онлайн-калькулятор эпохи, я получу правильную дату как для currTime, так и для dispDate. Но когда я делю их на дни (третья строка), конечный результат отличается более чем на 30 дней, и мне нужно использовать последнюю строку, чтобы получить правильное количество дней.
Это достаточно странно. Но происходит что-то еще, чего я не могу понять. Раньше он был отключен на 31 день, а теперь это неправильно, поэтому я изменил сценарий на 30 дней, что правильно.
Может ли кто-нибудь указать, что я делаю неправильно? Я не могу на всю жизнь понять, почему это происходит, и я бы предпочел не продолжать его настраивать.