2016-08-28 2 views
0

Каков наилучший способ рассчитать оставшиеся месяцы, оставшиеся на таймере обратного отсчета?Jquery Countdown, как рассчитать оставшиеся месяцы от 0 до 12?

Я использую jquery для обратного отсчета до даты в будущем, которая находится на расстоянии более 12 месяцев, на самом деле намного дольше, чем 10 лет.

Как я могу показать месяцы от 0 до 12, исходя из того, сколько осталось времени? Так, например, таймер может показать x Годы и 5 месяцев оставшегося сброса до 12 раз, когда он достигнет 0.

Я буду заменять «недели» месяцами, но я не уверен, как его вычислить.

   weeks = Math.floor(left/60/60/24/7), 
+0

Считаете ли вы, что используете объект Date? http://stackoverflow.com/a/18424817/575828 – jedifans

ответ

2

Я думаю, что это может быть то, что вы ищете:

function monthDiff(d1, d2) { 
    var months; 
    months = (d2.getFullYear() - d1.getFullYear()) * 12; 
    months -= d1.getMonth() + 1; 
    months += d2.getMonth(); 
    return months <= 0 ? 0 : months; 
} 

Источник: Difference in Months between two dates in JavaScript

Это даст вам общее количество месяцев между двумя датами, после чего вы можете использовать оператор модуля для получения нужного номера: monthDiff(yourDate1, yourDate2) % 12

+0

Он Он! Зачем спасибо вам, сэр, работал как шарм :) Как только я нахожу ссылку, чтобы отметить это как ответ, вы получили его! Для кого-то еще интересно, у меня была небольшая проблема с вызовом функции с использованием текущей даты в качестве одной из переменных (кто знает, почему я думаю, что у меня был дополнительный набор скобок), но это работает - 'monthDiff (new Date(), yourDate2)% 12, ' – Krypton

Смежные вопросы