Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 22.04.2013, 12:42
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

rgl,
Спасибо!
Ответить с цитированием
  #12 (permalink)  
Старый 29.04.2013, 21:59
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 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 дней…
Ответить с цитированием
  #13 (permalink)  
Старый 29.04.2013, 22:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Octane,
c 29 апреля по 29 ноября == 7 месяцев => 28 ноября == 6 месяцев 30 дней
то есть остался один день до полного месяца.
важны даты а не количества дней в месяцах -- если в следующем месяце такой даты нет например 31-- берётся последний день месяца.
31 мая по 30 июня == 1 месяц
30 мая по 30 июня тоже будет 1 месяц -- вот такой парадокс.
Ответить с цитированием
  #14 (permalink)  
Старый 02.12.2014, 01:23
Аватар для m~r.Nemo
Аспирант
Отправить личное сообщение для m~r.Nemo Посмотреть профиль Найти все сообщения от m~r.Nemo
 
Регистрация: 27.10.2012
Сообщений: 80

Помогите с похожей проблемой, есть дата ( в формате год, месяц, число, час, минуты, секунды),и текущее время, надо вывести сколько прошло лет, месяцев, дней, часов, минут, секунд за этот период,

не получается скрыть значения лет, месяцев, дней, часов и минут если их значение меньше единицы,

и второе как сделать чтобы правильно показывало окончания слов, 1 год 2,3,4 года, 5-20 лет, 21 год и так везде год, месяц, день, час, минута, секунда?
Ответить с цитированием
  #15 (permalink)  
Старый 02.12.2014, 01:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

m~r.Nemo,
на форуме всё это есть надо только поискать или в раздел работа
Ответить с цитированием
  #16 (permalink)  
Старый 02.12.2014, 01:52
Аватар для m~r.Nemo
Аспирант
Отправить личное сообщение для m~r.Nemo Посмотреть профиль Найти все сообщения от m~r.Nemo
 
Регистрация: 27.10.2012
Сообщений: 80

Рони, мож подкинешь сылочку на тему, где искать?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
разница между датами liarbur Общие вопросы Javascript 6 04.04.2013 15:20
Разница между датами при onchange Ptichka Events/DOM/Window 0 06.04.2012 18:10
Разница между датами Amour Общие вопросы Javascript 4 29.03.2011 21:01
Разница между датами в днях autosoft Общие вопросы Javascript 2 01.06.2010 19:23
Скрытие курсора через промежуток времени najrobi Internet Explorer 5 02.07.2009 16:32