Узнать возраст по дате 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 Русаков Михаил Юрьевич. Все права защищены.

Источник

Показать сколько полных лет по дате, например: 8.6.1979

Привет, как сделать такое подскажите!
В переменную $dates может приходить 2 вида даты
так
8.6.1979 // число, месяц, год
и так
8.6 // число, месяц

так вот если в переменной дата вида 8.6.1979
то нужно узнать возраст

и дать результат
38 лет

если в переменной $dates
такая дата
8.6

то вообще ничего не выводить.

Добавлено через 28 минут

помогите поправить, если в переменной дата вида 10.1.1979
то все гуд, показывает Полных лет: 39

Читайте также:  мезотерапия что это за процедура для удаления жира

но если дата
$dates = ‘10.1’;
то вывод
показывает Полных лет: 00

как сделать чтобы в данной ситуации ничего не выводило, и так же само если переменная вообще пустая.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Определить количество полных лет по дате рождения
вводится текущая дата и дата рождения человека(число,месяц,год),определить количество полных лет

Определение полных лет,месяцев и дней по введённой с клавиатуры дате.
Требуется составить программу,определяющую число полных лет, месяцев и дней на текущий момент по.

Определить, сколько полных лет пользователю, если сегодня 16.02.2012
С клавиатуры вводится дата рождения в виде трех чисел (a – день, b – месяц, с – год). Определить.

Посчитать сколько полных лет, месяцев и дней отделяют введенную дату от текущей
В поле ввода вводится дата. Посчитать сколько полных лет, месяцев и дней отделяют введенную дату от.

Источник

В 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-летнего обзора:

если вы хотите что-то более вытянутое, чтобы вы могли включать такие случаи, как дни рождения и такие:

но если вы просто хотите знать возраст и ничего более, то:

Источник

Образовательный портал