Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
как узнать возраст юзера? |

04.03.2008, 14:37
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
как узнать возраст юзера?
Есть дата рождения.
Есть текущая дата.
Надо узнать скока человеку лет.
В голове одна каша!
Перевожу обе даты в timestamp, считаю их разницу,
остаётся понять как из этой кучи секунд получить года?
|
|
|

04.03.2008, 14:55
|
|
Постоянный
Регистрация: 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(1, 0, 0, $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>';
?>
|
|
|

04.03.2008, 14:55
|
|
Banned
Регистрация: 06.06.2006
Сообщений: 944
Провел на форуме: 3986705
Репутация:
1403
|
|
$текущая дата(секунды) - $рождения = date("ШАБЛОН ДАТЫ",$резултат);
|
|
|

04.03.2008, 15:01
|
|
Постоянный
Регистрация: 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
|
|
|

04.03.2008, 15:18
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
2 Naydav
спасибо! работает.
2 Bul
я так и делал. это неправильно.
|
|
|

04.03.2008, 19:56
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
я так и делал. это неправильно.
Врать только не надо)
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..
|
|
|

04.03.2008, 21:20
|
|
Постоянный
Регистрация: 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..
|
|
|

04.03.2008, 21:53
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
Записывать дату рождения в формате UNIXTIME
Далее выдираем time() - columntime = time..
Ну и date
|
|
|

04.03.2008, 22:02
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
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..
|
|
|

04.03.2008, 22:11
|
|
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме: 3887520
Репутация:
2996
|
|
Толик знает ВСЕ!
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|