22.04.2013, 12:42
|
Профессор
|
|
Регистрация: 12.12.2012
Сообщений: 1,398
|
|
rgl,
Спасибо!
|
|
29.04.2013, 21:59
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
рони,
function passed(d, m, g, dd, mm, gg) {
//устанавливаем начальное время и будушее
var a = new Date(g, m - 1, d, 0, 0, 0, 0),b = new Date(gg, mm-1, dd, 0, 0, 0, 0);
//увеличивая начальное время на 1 месяц вперёд
//подсчитываем количество полных месяцев до сегодня
//если дата превышает число дней следующего месяца
//то месяцем считаем весь следующий месяц
//5 января + 1 месяц = 5 февраля, но 31 января + 1 месяц = 28/29 февраля
for (m = 0;; m++) {
g = new Date(a.getFullYear(), a.getMonth() + 2, 0);
g.getDate() > d && g.setDate(d);
if (g > b) break;
a = g
}
d = b - a;//оставшееся время за последний неполный месяц, если будет
d = Math.round(d/864E5);//количество полных дней в этом времени
g = Math.floor(m/12);//сколько полных лет в подсчитанных месяцах
m = m % 12;//оставшиеся месяцы от полных лет
return [g, m, d]
};
alert(passed('29','4','2013','28','11','2013'));
в апреле и ноябре по 30 дней, а в результате получаем 6 месяцев 30 дней…
|
|
29.04.2013, 22:33
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,129
|
|
Octane,
c 29 апреля по 29 ноября == 7 месяцев => 28 ноября == 6 месяцев 30 дней
то есть остался один день до полного месяца.
важны даты а не количества дней в месяцах -- если в следующем месяце такой даты нет например 31-- берётся последний день месяца.
31 мая по 30 июня == 1 месяц
30 мая по 30 июня тоже будет 1 месяц -- вот такой парадокс.
|
|
02.12.2014, 01:23
|
|
Аспирант
|
|
Регистрация: 27.10.2012
Сообщений: 80
|
|
Помогите с похожей проблемой, есть дата ( в формате год, месяц, число, час, минуты, секунды),и текущее время, надо вывести сколько прошло лет, месяцев, дней, часов, минут, секунд за этот период,
не получается скрыть значения лет, месяцев, дней, часов и минут если их значение меньше единицы,
и второе как сделать чтобы правильно показывало окончания слов, 1 год 2,3,4 года, 5-20 лет, 21 год и так везде год, месяц, день, час, минута, секунда?
|
|
02.12.2014, 01:37
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,129
|
|
m~r.Nemo,
на форуме всё это есть надо только поискать или в раздел работа
|
|
02.12.2014, 01:52
|
|
Аспирант
|
|
Регистрация: 27.10.2012
Сообщений: 80
|
|
Рони, мож подкинешь сылочку на тему, где искать?
|
|
02.12.2014, 02:00
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,129
|
|
|
|
|
|