узнать возраст по дате php
Как узнать возраст по дате рождения в PHP
Не так давно мне на e-mail прислали письмо с просьбой написать скрипт, который узнаёт возраст по дате рождения в PHP. Скрипт очень простой, поэтому я быстро его написал и отправил, но я решил опубликовать его ещё и здесь. Возможно, кому-то он будет также полезен.
Как узнать возраст по дате рождения в PHP? Входные параметры: число, месяц и год рождения. Выходные параметры: возраст.
Немного прокомментирую данный код. Функция date() возвращает текущую дату (если не указан второй параметр, а в нашем примере только один параметр). Итак, мы проверяем: был ли в текущем году у человека день рождения?. Если ещё дня рождения в этом году не было, значит, из текущего года вычитаем год рождения и ещё 1. Если же день рождения уже был (или он сегодня), то просто из текущего года вычитаем год рождения.
Вот такой простой и полезный скрипт. Пользуйтесь!
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
Комментарии ( 9 ):
Нет, условие написано правильно. То есть если месяц рождения больше текущего (ещё не было дня рождения) или месяц рождения совпадает с текущим, но при этом число рождения меньше (!) текущего, то значит надо вычесть ещё 1.
Хе, ну тогда получается, что если я родился например 16.06.1990, то мне сегодня (17-го числа) все еще пока 20 лет, а если родился 18.06.1990, то сегодня мне 21, а день рождения-то только завтра! Врет система, надо наоборот. Если число рождения БОЛЬШЕ текущего, то дня рождения еще не было.
Да, действительно. Не доглядел, самое интересное, что скопировал правильный вариант, а когда заменял > на > случайно написал Ответить
А как сделать событие какое-нибудь, ну например: у пользователя день рождения 20 апреля, и на главной странице, или еще какой-нибудь, в этот же день объявили это, или как хотя бы сообщить администратору(себе), что у какого-то пользователя день рождения?
Можно создать скрипт, который запускать раз в сутки через cron. В этом скрипте проверять, у кого день рождения, а потом отправлять им поздравления или уведомления администратору.
Здравствуйте,у меня к вам маленький вопросик,я себе на сайт все скопировал,поставил свои переменные,а оно не работает,подскажите пожалуйста в чем причина!?
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Copyright © 2010-2021 Русаков Михаил Юрьевич. Все права защищены.
В PHP вычислить возраст
Я ищу способ рассчитать возраст человека, учитывая их DOB в формате dd/mm / yyyy.
я использовал следующую функцию, которая работала нормально в течение нескольких месяцев, пока какой-то сбой не заставил цикл while никогда не заканчиваться и не остановил весь сайт. Поскольку через эту функцию несколько раз в день проходит почти 100 000 Добов, трудно определить, что было причиной этого.
есть ли у кого-нибудь более надежный способ расчета возраст?
EDIT: эта функция, кажется, работает нормально некоторое время, но возвращает «40» для DOB 14/09/1986
30 ответов
Это прекрасно работает.
начиная с PHP 5.3.0, вы можете использовать удобный DateTime::createFromFormat чтобы ваша дата не была ошибочно принята за и DateInterval класса (через DateTime::diff ), чтобы получить количество лет между настоящим моментом и целевой датой.
Я использую дату/время для этого:
простой метод расчета возраста от dob:
Я считаю, что это работает и просто.
вычесть из 1970, потому что strtotime вычисляет время от 1970-01-01 (http://php.net/manual/en/function.strtotime.php)
// Возраст Калькулятор
Если вы хотите вычислить возраст использования dob, вы также можете использовать эту функцию. Он использует объект DateTime.
подумал, что я бы бросил это здесь, так как это, кажется, самая популярная форма этого вопроса.
Я провел 100-летнее сравнение 3 самых популярных типов возрастных функций, которые я мог найти для PHP, и опубликовал свои результаты (а также функции) в мой блог.
найдена небольшая проблема с тестом, и еще одна проблема с 2-м методом! Обновление в блоге! На данный момент я бы отметил, что 2-й метод по-прежнему самый популярный, который я нахожу в интернете, и все же я нахожу самые неточности!
мои предложения после моего 100-летнего обзора:
если вы хотите что-то более вытянутое, чтобы вы могли включать такие случаи, как дни рождения и такие:
но если вы просто хотите знать возраст и ничего более, то: