ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

как узнать возраст юзера?
  #1  
Старый 04.03.2008, 14:37
Аватар для Дикс
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию как узнать возраст юзера?

Есть дата рождения.
Есть текущая дата.
Надо узнать скока человеку лет.

В голове одна каша!

Перевожу обе даты в timestamp, считаю их разницу,
остаётся понять как из этой кучи секунд получить года?
 
Ответить с цитированием

  #2  
Старый 04.03.2008, 14:55
Аватар для Naydav
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме:
849583

Репутация: 210
По умолчанию

PHP код:
<?php

function calc_period($date_start$date_finish) {
                
$st explode('-'date('d-m-Y-H-i-s'$date_start));
                
$fin explode('-'date('d-m-Y-H-i-s'$date_finish));

                if ((
$seconds $fin[5] - $st[5]) < 0) {
                        
$fin[4]--;
                        
$seconds += 60;
                }

                if ((
$minutes $fin[4] - $st[4]) < 0) {
                        
$fin[3]--;
                        
$minutes += 60;
                }

                if ((
$hours $fin[3] - $st[3]) < 0) {
                        
$fin[0]--;
                        
$hours += 24;
                }

                if ((
$days $fin[0] - $st[0]) < 0) {
                        
$fin[1]--;
                        
$days date('t'mktime(100$st[1], $st[0], $st[2])) - $st[0] + $fin[0];
                }

                if ((
$months $fin[1] - $st[1]) < 0) {
                        
$fin[2]--;
                        
$months += 12;
                }

                
$years $fin[2] - $st[2];
                
                return array(
$seconds$minutes$hours$days$months$years);
}


// Примеры использования

$date_finish strtotime("1-03-2008");
$date_start strtotime("31-01-2008");

$result calc_period($date_start$date_finish);

echo 
'C ' date('h:i:s d-m-y'$date_start) . ' по 'date('h:i:s d-m-y'$date_finish) .' прошло ' $result[0] . ' секунд ' $result[1]. ' минут ' .$result[2] . ' часов ' .$result[3] . ' дней ' $result[4] . ' месяцев ' $result[5] . ' лет <br>';

?>
 
Ответить с цитированием

  #3  
Старый 04.03.2008, 14:55
Аватар для bul.666
bul.666
Banned
Регистрация: 06.06.2006
Сообщений: 944
Провел на форуме:
3986705

Репутация: 1403


Отправить сообщение для bul.666 с помощью ICQ
По умолчанию

$текущая дата(секунды) - $рождения = date("ШАБЛОН ДАТЫ",$резултат);
 
Ответить с цитированием

  #4  
Старый 04.03.2008, 15:01
Аватар для Naydav
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме:
849583

Репутация: 210
По умолчанию

Посчитать возраст человека, дата рождения которого хранится в поле DATE


PHP код:
SELECT name, IF ((MONTH(NOW())>MONTH(birthday)),(YEAR(NOW())-YEAR(birthday)),
IF ((
MONTH(NOW())>IF ((DAYOFMONTH(NOW())>=DAYOFMONTH(birthday)),(YEAR(NOW())-YEAR(birthday)),
IF ((
MONTH(NOW())>(YEAR(NOW())-YEAR(birthday)-1))) as years_old FROM person 
 
Ответить с цитированием

  #5  
Старый 04.03.2008, 15:18
Аватар для Дикс
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

2 Naydav
спасибо! работает.

2 Bul
я так и делал. это неправильно.
 
Ответить с цитированием

  #6  
Старый 04.03.2008, 19:56
Аватар для Doom123
Doom123
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме:
3941248

Репутация: 668


Отправить сообщение для Doom123 с помощью ICQ
По умолчанию

Цитата:
я так и делал. это неправильно.
Врать только не надо)

PHP код:
<?php
$a 
mktime(0,0,0,9,1,1991);
$c time() - $a;
$d date("Y"$c);
$b $d 1970;
echo 
"Онотолию $b лет";
?>

Последний раз редактировалось Doom123; 04.03.2008 в 20:48..
 
Ответить с цитированием

  #7  
Старый 04.03.2008, 21:20
Аватар для Naydav
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме:
849583

Репутация: 210
По умолчанию

Цитата:
Врать только не надо)


PHP код:
<?

$a 
mktime(0,0,0,3,5,2007);
$c time() - $a;
$d date("Y"$c);
$b $d 1970;
echo 
"Онотолию $b лет";


?>
Сегодня - 4 марта 2008 года:

>>Онотолию 1 лет

Хотя, будет 1, только завтра

Последний раз редактировалось Naydav; 04.03.2008 в 21:23..
 
Ответить с цитированием

  #8  
Старый 04.03.2008, 21:53
Аватар для Isis
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме:
16641028

Репутация: 2371


По умолчанию

Записывать дату рождения в формате UNIXTIME
Далее выдираем time() - columntime = time..
Ну и date
 
Ответить с цитированием

  #9  
Старый 04.03.2008, 22:02
Аватар для Doom123
Doom123
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме:
3941248

Репутация: 668


Отправить сообщение для Doom123 с помощью ICQ
По умолчанию

Naydav

PHP код:
<? 

$a 
mktime(23,60,61,3,5,2007); 
$c time() - $a
$d date("Y"$c); 
$b $d 1970
echo 
"Онотолию $b лет"


?>

Последний раз редактировалось Doom123; 04.03.2008 в 22:12..
 
Ответить с цитированием

  #10  
Старый 04.03.2008, 22:11
Аватар для guest3297
guest3297
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме:
3887520

Репутация: 2996


По умолчанию

Толик знает ВСЕ!
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как искать "правильные" хосты под дорвей и как собрать свою спам-базу. x88x Черные методы раскрутки 19 31.08.2008 12:02
как узнать примак stalles ICQ 15 04.02.2006 06:08
Как узнать домашнюю директорию форума? Ivan_ PHP, PERL, MySQL, JavaScript 2 23.05.2005 12:07
Как можно узнать в какой папке на сервере стоит форум? dyx Форумы 8 22.05.2005 17:43
Как узнать ip-адрес JOY_DLIKEN Болталка 4 19.12.2003 16:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ