Домой

Последняя активность

  

PHP сколько лет пользователю

inet avatar inet (9) [#] (27.12.2017 / 04:34)
Следующий код считает количество лет пользователю в данный момент, либо в определенную дату (будущее или прошлое).
<?php
function getAge() {
$f = Array(chr(89),chr(109),chr(100)); $v func_get_args();
$ic 1$im 0$ns = !is_string($v[0]) && !is_string($v[1]);
if(
$ns$c array_slice($v35);
elseif(
count($v)-1$c explode(chr(46),$v[1]);
else 
$c = Array(0,0,0); $ic count($c);
if(
$ic) for ($i=0$i<3;  $i++) $ic $ic && $c[$i];
if(
$ns$u array_slice($v03);
else 
$u explode(chr(46),$v[0]);
if (!
$ic) for($i=0$i<3$i++) $c[$i] = date($f[$i]);
else for(
$i=0$i<3$i++) $im $u[$i] - $c[$i] + $im;
if(
$im>0) return 0// если первая часть больше второй 
if($u[1] > $c[1] || $u[1] == $c[1] && $u[2] > $c[2]) return $c[0] - $u[0] - 1;
return 
$c[0] - $u[0];
}

print 
getAge(1992,3,4). PHP_EOL// сколько лет сейчас
print getAge(1992,3,4,2000,3,4). PHP_EOL// сколько лет было в 2000.03.04
print getAge(1992,3,4,2090,3,4). PHP_EOL// сколько будет лет в 2090.03.04
print getAge(2090,3,4,1992,3,4). PHP_EOL// ошибка, первая часть больше второй
print getAge('1992.3.4','2000.3.4'). PHP_EOL// текстовый формат
print getAge('1992.03.04','2000.03.04'). PHP_EOL// текстовый формат с поддержкой 0
?>

Так же код можно использовать в других целях, например для того, чтобы в PHP посчитать сколько лет между двумя датами.
  Всего: 1

Зарегистрируйтесь и сможете комментировать все темы. Кнопочка вверху
Фильтр по автору
Скачать тему

В Форум

Новые вверху
waplog Рейтинг@Mail.ru
Statok.nettop-sid.ru
Яндекс.Метрика