X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Вывод возраста?
b1f
b1f
Topic Starter сообщение 14.11.2009, 19:14; Ответить: b1f
Сообщение #1


подскажите как сделать вывод возраста пользователя...
есть форма, пользователь заполняет ее в виде: 09.06.2004 или 09/06/2004
к примеру:
09 - число
06 - месяц
2004 - год рождения....

все что в форме записывается в $year
тоесть получается так $year = "09.06.2004";


как сделать вывод: $year (5 лет)
важен только сам подсчет....

и можно ли как то разделить эту запись... чтобы потом вывести 9 июня 2004 (5 лет)
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Letmetouchyou
Letmetouchyou
сообщение 14.11.2009, 19:57; Ответить: Letmetouchyou
Сообщение #2


[PHP]$year = "09.06.2004";
$new = explode(".", $year);[/PHP]

$new[0] - ето день
$new[1] - ето месяц
$new[2] - ето год

есто если точки разделяют цифры.


explode - Разбивает строку на подстроки.
array explode ( string separator, string string [, int limit] )


Возвращает массив строк, полученных разбиением строки string с использованием separator в качестве разделителя. Если передан аргумент limit передан, массив будет содержать максимум limit элементов, при этом последний элемент будет содердать остаток строки string.

Для вывода в форме "9 июня 2004"
[PHP]$year = "09.06.2004";
$new = explode(".", $year);
switch ($new[1]) {
case "01" : $mounth = "января";
break;
case "02" : $mounth = "февраля";
break;
case "03" : $mounth = "марта";
break;
case "04" : $mounth = "апреля";
break;
case "05" : $mounth = "мая";
break;
case "06" : $mounth = "июня";
break;
case "07" : $mounth = "июля";
break;
case "08" : $mounth = "августа";
break;
case "09" : $mounth = "сентября";
break;
case "10" : $mounth = "октября";
break;
case "11" : $mounth = "ноября";
break;
case "12" : $mounth = "декабря";
break;
echo $new[0]." ".$mounth." ".$new[2];[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r3ntg3n
r3ntg3n
сообщение 14.11.2009, 20:07; Ответить: r3ntg3n
Сообщение #3


Letmetouchyou, зачем название месяца выбирать через switch() { case: }, если намного проще сделать массив с индексами и значениями, соответствующими порядковым номерам и названиям месяцев. название выводить просто передав в массив порядковый номер месяца, полученного из введенной даты. а вообще возраст пользователя можно высчитать следующим образом:

[php]$date_of_birth = strtotime($year); // введенную дату рождения преобразовываете в Unix-формат

$current_date = time(); // получаем текущую дату в таком же формате

$age = $current_date - $date_of_birth; //находим разницу во времени

$age = round($age/(3600*24*365));
// получаем разницу в годах,
// для этого разницу во времени делим на 3600 - к-во секунд в 1 часе,
// на 24 - к-во часов в сутках,
// на 365 - к-во суток в 1 годе.
// результат округляем к целому[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
b1f
b1f
Topic Starter сообщение 16.11.2009, 21:54; Ответить: b1f
Сообщение #4


(r3ntg3n @ 14.11.2009, 22:07) *
Letmetouchyou, зачем название месяца выбирать через switch() { case: }, если намного проще сделать массив с индексами и значениями, соответствующими порядковым номерам и названиям месяцев. название выводить просто передав в массив порядковый номер месяца, полученного из введенной даты. а вообще возраст пользователя можно высчитать следующим образом:

[php]$date_of_birth = strtotime($year); // введенную дату рождения преобразовываете в Unix-формат

$current_date = time(); // получаем текущую дату в таком же формате

$age = $current_date - $date_of_birth; //находим разницу во времени

$age = round($age/(3600*24*365));
// получаем разницу в годах,
// для этого разницу во времени делим на 3600 - к-во секунд в 1 часе,
// на 24 - к-во часов в сутках,
// на 365 - к-во суток в 1 годе.
// результат округляем к целому[/php]


спасибо, только почему то не всегда правильно считает....
к примеру пишу что родился 6 июня 1990 пишет что 19 лет ..... правильно... пишу что родился 24 апреля 1989 пишет 21 (хотя 20)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
b1f
b1f
Topic Starter сообщение 16.11.2009, 21:55; Ответить: b1f
Сообщение #5


хм... а как с помощью експлоид сделать несколько символов, тоесть точка и слеш?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r3ntg3n
r3ntg3n
сообщение 16.11.2009, 22:46; Ответить: r3ntg3n
Сообщение #6


а зачем делать эксплойт, если функция strtotime примет переменную $year как с точкой, так и слешем в качестве разделителя?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
b1f
b1f
Topic Starter сообщение 21.11.2009, 17:33; Ответить: b1f
Сообщение #7


нет, я просто хочу еще сделать вывод этой инфы в формате 6 июня 1987 год к примеру.... чтобы вместо введенного месяца цифрой он выводил месяц "июнь"

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Ручной обмен, ввод/вывод электронных валют | ЮMoney, WMZ, Крипта, Приват, Монобанк | Низкие комиссии, минимальные суммы сделок
быстро, удобно, по доступному курсу
200 Sostavitel 97665 11.2.2024, 21:07
автор: Wolfhound
Открытая тема (нет новых ответов) Sbitcoin.ru – Ввод, Вывод, Обмен: Qiwi, YD, Btc, Btc-e, PM, Cash IN, PR24, MG, WU, Нал (RU, UA).
9 sbitcoinru 6746 10.10.2023, 19:25
автор: Sbitcoin
Горячая тема (нет новых ответов) Обмен WebMoney - Яндекс - QIWI. Вывод/ввод Приват24 UAH
225 himin 132449 7.5.2023, 13:26
автор: Вера_Симонова
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлы«»101Crypta.com«»ВВОД/ВЫВОД/ОБМЕН«»BTC/ETH/QIWI/USDT/VISA/MC«»НАЛИЧНЫЕ/СНГ/ЕВРОПА«»
13 101Crypta 12130 18.4.2023, 23:15
автор: 101Crypta
Открытая тема (нет новых ответов) Нужен вывод в топ наших роликов Youtube
3 wep 1906 23.3.2023, 17:39
автор: distrib095


 



RSS Текстовая версия Сейчас: 29.3.2024, 5:51
Дизайн