Определение возраста по дате рождения

Статус
В этой теме нельзя размещать новые ответы.

Albert22

Старатель
Регистрация
30 Мар 2008
Сообщения
270
Реакции
11
Всем привет
Имеется дата рождения юзера, надобно подсчитать сколько ему лет в данный момент времени.
В гугл не адресуйте, там всё плохо. Например:
Для просмотра ссылки Войди или Зарегистрируйся
(убил второй результат)))

Заранее спасибо.
 

Такое? Вообще так не делается эта функция,лучше через эксплоде/имплоде делать,если тебе ещё нужно будет определить всю дату.Но ты ведь попросил только сколько ему лет,вот тебе и самый просто скрипт,улучшь его и будет норм
 
Имеется дата рождения юзера,
Ну написал бы формат, в каком эта дата имеется.
Если в Unix времени(которая в секундах), то можно узнать текущее, потом из него вычесть то, и делить на 60сек*24часа*365дней=525600. Где то так...
Ну, а если в обычном, типо 01.01.1990 то узнаём сегодняшнее, и эксплодом(регуляркой ну или как тебе будет удобнее) достаём года(у обоих дат), и вычитаем.
 
Ну написал бы формат, в каком эта дата имеется.
Ты знаешь, я как раз хотел написать что дата пока хранится в формате DATE Mysql (т.е. YYYY-MM-DD)
Однако сразу же подумал, что мне всё равно в каком хранить, ибо есть же функция getdate() которая перегоняет в юникс и обратно. То есть, я могу при регистрации сразу загнать дату рождения в юникс, или же сохранить её в человекопонятном формате, а потом при надобности конвертировать.
Так или иначе, в каком лучше, в таком и буду хранить.
Ну, а если в обычном, типо 01.01.1990 то узнаём сегодняшнее, и эксплодом(регуляркой ну или как тебе будет удобнее) достаём года(у обоих дат), и вычитаем.
Я думал об этом, но ведб там ещё придётся заняться сексом с днём - узнать, прошёл ли он, а вместе с ним прошёл ли месяц, в котором родился юзер, и в зависимости от этого прибавлять или нет единицу...
 
$date_denrozhdenita = "YYYY-MM-DD";
$date_segodna = time2date(time());

$time_tmp = date2time($date_denrozhdenita)

$schotchik=0;
пока(time2date($time_tmp)!=$date_segodna){
$time_tmp+=60*60*24;
$schotchik++;
}


Как тебе такой вариант подсчёта дней с учётов весокостных? ;)
 
dob - поле DATE

SELECT ((YEAR(CURRENT_DATE)-YEAR(dob)) - (RIGHT(CURRENT_DATE,5)<RIGHT(dob,5))) as age, ...

все учтено
 
Вот на чистом PHP:
PHP:
$birthdate='1987-05-24';
$secs = time() - strtotime($birthdate);
// secs - возраст чувака в секундах

$years = floor($secs/(365*24*3600));
 
На некоторых платформах с таким вариантом будет глюк с датами ранее 1 января 1970
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху