У меня возникли проблемы с использованием функции с JS. Я получил этот код JS отсюда Difference between two dates in years, months, days in JavaScriptПодсчитайте дни, оставшиеся до даты?
Месяцы прекрасно работают, но когда я пытаюсь назвать дни, когда он не работает правильно, он покажет 30 дней, когда ему должно быть 24. Может ли кто-нибудь увидеть что-нибудь не так с кодом?
function monthDiff(d1, d2) {
var months;
months = (d2.getFullYear() - d1.getFullYear()) * 12;
months -= d1.getMonth() + 1;
months += d2.getMonth();
return months <= 0 ? 0 : months;
}
function daysInMonth(date) {
return new Date(date.getYear(), date.getMonth() + 1, 0).getDate();
}
function diffDate(date1, date2) {
if (date2 && date2.getTime() && !isNaN(date2.getTime())) {
var months = monthDiff(d1, d2);
var days = 0;
if (date1.getUTCDate() >= date2.getUTCDate()) {
days = date1.getUTCDate() - date2.getUTCDate();
}
else {
months--;
days = date1.getUTCDate() - date2.getUTCDate() + daysInMonth(date2);
}
// Use the variables months and days how you need them.
}
}
Вот переменная, которая использует функции
var months = monthDiff(new Date(), options.timestamp) % 12 + 1,
days = daysInMonth(new Date()),
Я думаю, что я должен использовать в diffDate вместо DAYSINMONTH но когда я делаю это таким образом это будет только показать 0 – Krypton