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-летнего обзора:
если вы хотите что-то более вытянутое, чтобы вы могли включать такие случаи, как дни рождения и такие:
но если вы просто хотите знать возраст и ничего более, то:
Вычисление возраста
ИЗ бд получаю дату рождения человека! Как мне проше и бастрее всего вычислить:
1)Сколькополных лет исполнилось человеку
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Выбор возраста по диапазону
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модераторуУважаемые пользователи этого.
Количество клиентов определенного возраста
Добрый день! Подскажите, пожалуйста. Голова уже кипит. Есть таблица profiles с полями id и.
Как сделать выбор возраста от и до в таблице БД в ячейке которая указывает возраст?
Уважаемые пользователи этого форума,подскажите пожалуйста как можно сделать выборку из таблицы БД.
Если у тебя дата в любом формате то нужно преобразовать в секунды.
Возможно есть лучший вариант ну я бы так делал.
http://www.php.net/manual/ru/f. totime.php
Добавлено через 19 минут
Как подсчитать сколько человек, определенного возраста
Как мне подсчитать сколько человек, определенного возраста? Допустим, мне нужны люди, которым 18.
Вычисление возраста сотрудника и расчёт среднего возраста
Народ ПОМОГИТЕ пожалуйста. В Access не силён (на уровне пользователя). Имеется база данных с.
Вычисление возраста
есть два поля: Дата рождения и Дата смерти. Как в поле возраст вычислить возраст не прибегая к.
Вычисление возраста
select YEAR_OF_BIRTH, (sysdate-YEAR_OF_BIRTH) as AGE Получается: Как исправить запрос, чтобы.
PHP вычислить возраст
Я ищу способ вычислить возраст человека, учитывая его DOB в формате dd/mm/yyyy.
Я использовал следующую функцию, которая прекрасно работала в течение нескольких месяцев, пока какой-то сбой не привел к тому, что while loop никогда не заканчивался и не останавливал весь сайт. Поскольку почти 100 000 DOBs проходят через эту функцию несколько раз в день, трудно точно определить, что было причиной этого.
Есть ли у кого-нибудь более надежный способ расчета возраста?
EDIT: эта функция, кажется, работает OK некоторое время, но возвращает «40» для DOB из 14/09/1986
25 ответов
Есть ли функция для вычисления длительности от 2 дат в пределах XSLT 2.0? Я пытаюсь вычислить следующее из даты рождения и текущей даты: Возраст в годах Возраст в месяцах
Это прекрасно работает.
Я использую дату/время для этого:
Простой метод расчета возраста по dob:
// Калькулятор возраста
Я нахожу, что это работает и просто.
Вычтите из 1970, потому что strtotime вычисляет время из 1970-01-01 ( http://php.net/manual/en/function.strtotime.php )
Если вы хотите определить возраст использования dob, вы также можете использовать эту функцию. Он использует объект DateTime.
Как вычисляется эта возрастная функция? В частности, откуда берется используемое значение 7656656e5? Я ищу, чтобы вычислить возраст для кого-то, кто родился 03/31/1994 Age = function() < var e, o; return renderAgeLoop = function() < setInterval(renderAge, 100) >, renderAge = function() < var n =.
Решил, что я брошу это здесь, так как это, кажется, самая популярная форма этого вопроса.
Обнаружена небольшая проблема с тестом, и еще одна проблема со 2-м методом! Обновление скоро появится в блоге! На данный момент я бы отметил, что 2-й метод по-прежнему является самым популярным, который я нахожу в Интернете, и все же я нахожу в нем больше всего неточностей!
Мои предложения после моего 100-летнего обзора:
Если вы хотите что-то более удлиненное, чтобы вы могли включать такие случаи, как дни рождения и тому подобное:
Но если вы просто хотите узнать возраст и ничего больше, то:
См. BLOG
Ключевое замечание о методе strtotime :
Вам нужно только поместить это в функцию и заменить дату «1971-11-20» переменной.
Еще одна важная вещь заключается в том, что из-за использования UNIX Timestamp у него есть проблема как с 1901 годом, так и с 2038 годом, что означает, что приведенное выше выражение не будет корректно работать для дат до 1901 года и после 2038 года.
Если вы можете жить с ограничениями, упомянутыми выше, этот код должен работать на вас.
Определение возраста по дате рождения в MySQL
Приведенный ниже запрос выводит имя, дату рождения каждого пользователя и его возраст.
В этом запросе функция YEAR() выделяет из даты год, а RIGHT() — пять крайних справа символов, представляющих календарный день ( MM-DD ). Часть выражения, сравнивающая даты, выдает 1 или 0, что позволяет уменьшить результат на единицу, если текущий день ( CURRENT_DATE ) находится к началу календаря ближе, нежели день рождения пользователя.
Все выражение смотрится несколько неуклюже, поэтому вместо него в заголовке соответствующего столбца результатов выводится псевдоним ( age — «возраст»).
Изначально таблица users в MySQL имеет такой вид:
id | name | birth |
---|---|---|
1 | Кобзарев Михаил Николаевич | 1986-01-04 |
2 | Иванов Иван Иванович | 1955-12-12 |
… | ||
n | Пупкин Василий Петрович | 1856-03-29 |
Ссылки
Суровый русский тимлид. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все.
Делает крутые высоконагруженные сайты, поэтому уже почти захватил весь рынок WordPress разработки в России. Не дает никому делать сайты без спроса.
Ведет блог о разработке, дайджест в телеграмме и в ВК.