Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » PHP » Расчет возроста
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
Unhappy Расчет возроста [сообщение #61719]

Я видимо просто туплю, но я не могу понять как посчитать возрост чел-ка.
Есть столбец с датой рождения типа Date в БД. Есть текущая дата... Но как посчитать возраст я не понимаю...
Если сделать так:

PHP:


SELECT UNIX_TIMESTAMP
(data_rogdenia) from table;
$birthday = UNIX_TIMESTAMP(data_rogdenia);
$now = time();

$age=$now-$borthday;
$age = date("Y y",$age);


то получим полную ерунду (и я почти понимаю почему) А как тогда посчитать правильно???
(просто взять года из БД и сейчас и отнять это не выход как понимаете)
Извините за глупый вопрос, но 2ой день сижу ничего не могу придумать...

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 26-02-2004 19:00
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
GenUS
Участник+
Средний рейтинг: 4.63 | Оценок: 19
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Apr 2003
Место проживания: 127.0.0.1
Публикаций: 334
Статус: GenUS в оф-лайне
[сообщение #61726]


PHP:


$a 
= 507824359; // Дата рождения в "unix timestamp"
$b = time(); // Текущая дата
$age = floor((abs($b-$a))/31557600); // Возраст


31557600 - кол-во секунд в году.
0 в "unix timestamp" = 1 янв 1970г. 00:00.00

__________________
.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 26-02-2004 20:50
Нажмите сюда для просмотра профайла GenUS Отправить Персональное сообщение GenUS Посетить домашнию страничку GenUS! Найти сообщения от GenUS Добавить GenUS в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #61727]

GenUS вот спасибо! =)
А то у меня ступор какой то...

he][es добавил 26-02-2004 в 21:01:49:
А что бы определить что написать после возраста "лет" или "года" никто ф-ий не писал?
Как я понимаю 1-4 на конце - "год(а)" остальное "лет" искл. 11-14... Так?

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 26-02-2004 20:57
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
GenUS
Участник+
Средний рейтинг: 4.63 | Оценок: 19
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Apr 2003
Место проживания: 127.0.0.1
Публикаций: 334
Статус: GenUS в оф-лайне
[сообщение #61735]

По порядку определения:
11-19 - лет
на конце 0 - лет
на конце 1 - год
на конце 2-4 - года
на конце 5-9 - лет

кажется так ...

GenUS добавил 26-02-2004 в 21:35:26:
К стате запомни, если дата рождения будет раньше 1970 года - придется другой способ вычисления искать ... т.к. "unix timestamp" раньше 1970 года не бывает ...

__________________
.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 26-02-2004 21:33
Нажмите сюда для просмотра профайла GenUS Отправить Персональное сообщение GenUS Посетить домашнию страничку GenUS! Найти сообщения от GenUS Добавить GenUS в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Vanish
-= n0b0dy =-
Средний рейтинг: 4.29 | Оценок: 24
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Oct 2001
Место проживания: rus|53
Публикаций: 624
Статус: Vanish в оф-лайне
[сообщение #61737]

Когда то очень давно писал я функцию для склонения окончаний:
Нашел в закромах

PHP:


function dig_end($dig, $end1, $end2, $end3)
{
    if (
$dig == '1') return $end1;
    elseif (
$dig >= '2' && $dig <= '4') return $end2;
    else return 
$end3;

}

function 
get_end($num, $end1, $end2, $end3)
{
    if (
$num <= '20')
    {
        return 
$this->dig_end($num, $end1, $end2, $end3);
    } else {
        return 
$this->dig_end($num%10, $end1, $end2, $end3);
    }
}


Вызывалась примерно так:

PHP:

get_end
($value, 'день', 'дня', 'дней');

__________________
No pity, no mercy, no regret.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 26-02-2004 21:42
Нажмите сюда для просмотра профайла Vanish Отправить Персональное сообщение Vanish Найти сообщения от Vanish Добавить Vanish в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #61740]

Пасибо баааальшоооое
GenUS старше не будут... зачем нам девушки старше?..

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 26-02-2004 21:50
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 15:50.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.40308809 seconds (97.70% PHP - 2.30% MySQL) with 26 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.