Вычислить возраст с учетом даты рождения в формате гггг-мм-дд

Как я могу рассчитать возраст в годах и месяцах, учитывая дату рождения в формате ГГГГ-ММ-ДД? Возможно ли использование функции Date ()?

Я сделал в php. Ниже мой код

   $dateOfBirth = date("Y-m-d", strtotime($post->date_of_birth));
   $today = date("Y-m-d");
   $age= $diff->format("%Y Years, %M Months");
   echo $age;

Я получаю результаты в json. Могу ли я встроить код php в json во время отображения или как я могу получить возраст в годах и месяцах, используя дату рождения .... ??

Вы можете указать (javascript) дату в формате Date () и iso, и это создаст объектное представление этой даты. Тогда вам просто нужно вычислить текущую дату. Имейте в виду, что, если вы не добавите дополнительную логику, возраст будет полностью зависеть от настроек даты на клиентском компьютере. Если очень важно, чтобы возраст был точным, вам придется это учесть или рассчитать возраст на стороне сервера.

Taplar 29.11.2018 18:43

Эта база данных связана случайно?

Funk Forty Niner 29.11.2018 18:50

почему это помечено как javascript и jquery?

Funk Forty Niner 29.11.2018 18:51

Из руководств пользователя PHP 1 (php.net/manual/en/function.date-diff.php) 3v4l.org/ZfCBJ

user3783243 29.11.2018 18:51
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
4
379
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В php это можно сделать с помощью объекта дата и время:

$dateOfBirth = new DateTime($post->date_of_birth);
$today = new DateTime();
$diff = $today->diff($dateOfBirth);
//echo $diff->format("%Y Years, %M Months");

Затем, если вы хотите вывести это как json, вы можете просто:

echo json_encode(['diffString' => $diff->format("%Y Years, %M Months")]);

Но я использую ajax и получаю данные в формате json, и теперь мне нужно рассчитать возраст с даты рождения.

user5370838 29.11.2018 18:55

Просто отправьте разницу в ответе, чтобы вам не пришлось выполнять одну и ту же работу дважды.

Bryan 29.11.2018 18:56

Вы можете использовать функцию PHP array_merge. array_merge(['diffString' => $diff->format("%Y Years, %M Months")], $myOtherArray)

Bryan 30.11.2018 17:44

Другие вопросы по теме