Как да взема годините на потребител

dunix

Registered
данните в базата данни ми се записват така: 19910520,
което ще рече следното:
1991 - година
05 - месец
20 - дата

Мен ме интересува как да го сметне и да покаже че вмомента потребителя е на 22години
 
Друг вариант е да използваш preg_match, но ако искаш да вземеш и останалите данни. Иначе просто няма смисъл.

PHP:
$data = 19910520;
preg_match('/^(....)(..)(..)$/', $data, $a);
$obshto = $a[0];
$godina = $a[1];
$mesec = $a[2];
$den = $a[3];

Това е в случай, че записите ти са в правилния формат. Иначе по-добре
PHP:
preg_match('/^([0-9]{4})([0-9]{2})([0-9]{2})$/', $data, $matches);
и след това да провериш дали числата са валидни. (дните от 1 до 31, месеците от 0 до 12 и т.н.)
 
LiOL каза:
$fromdb = "19910520";
$godini = substr($fromdb, 0, 4);
$sega = date('Y');

$ravno = $sega-$godini;

echo "$godini<br>$sega<br>$ravno";

Благодаря, не се бях сетил.

anonimen каза:
Друг вариант е да използваш preg_match, но ако искаш да вземеш и останалите данни. Иначе просто няма смисъл.

Аз искам да изведа само годината и примера който даде LiOL ми върши работа. Благодаря и на теб (:
 
Ако смяташ с точност годините е хубаво да отразиш и месеца и деня. Просто трябва да направиш проверка дали са по-големи от подадените, понеже може да се получи объркване, ако потребителя е роден декември месец и сега му покаже, че е на 21, а той все още е на 20.
Но ти си знаеш, де.
 

Back
Горе