Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 08.11.2010, 10:38
Ламер
Отправить личное сообщение для DooMer Посмотреть профиль Найти все сообщения от DooMer
 
Регистрация: 19.02.2010
Сообщений: 295

ого, ну вы даете. Лана, ппж посмотрю как решается
Ответить с цитированием
  #22 (permalink)  
Старый 09.11.2010, 00:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Немного упростил код и описал алгоритм подсчёта (для дат в прошлом)
function passed(d, m, g) {
    //устанавливаем начальное время  и сегодняшнее
    var a = new Date(g, m - 1, d, 0, 0, 0, 0),b = new Date;
    b.setHours(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('24','8','1990'));

Последний раз редактировалось рони, 09.11.2010 в 00:48.
Ответить с цитированием
  #23 (permalink)  
Старый 31.03.2011, 17:26
Аспирант
Отправить личное сообщение для Johny Посмотреть профиль Найти все сообщения от Johny
 
Регистрация: 20.08.2010
Сообщений: 54

Если только нужен возраст, то также можно воспользоваться следующим скриптом:
var d = 31;
var m = 03;
var y = 1987;
var t = new Date();
var a = ( t.getFullYear() - y - ((t.getMonth() - --m||t.getDate() - d)<0) );
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
расчет возраста nameivan Общие вопросы Javascript 13 30.05.2014 17:19
Калькулятор с выбором детали и расчет ее цены по введеным пораметрам Aquarius AJAX и COMET 16 31.03.2010 10:35
расчет стоимости annik Элементы интерфейса 2 02.12.2009 21:56
Расчет позиции с учетом скролла cker Элементы интерфейса 2 10.05.2009 18:49