20 / 9 / 3
Регистрация: 02.04.2015
Сообщений: 646
1

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

16.01.2018, 14:06. Показов 6779. Ответов 4
Метки нет (Все метки)

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

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

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

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

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

Добавлено через 28 минут
PHP
1
2
3
4
5
6
7
$dates = '10.1.1979'; // дата и время рождения 
 
$date_a = new DateTime($dates);
$date_b = new DateTime();
$interval = $date_b->diff($date_a); 
 
echo $interval->format("Полных лет: %Y");


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

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

как сделать чтобы в данной ситуации ничего не выводило, и так же само если переменная вообще пустая.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2018, 14:06
Ответы с готовыми решениями:

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

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

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

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

4
4 / 4 / 2
Регистрация: 21.05.2015
Сообщений: 44
16.01.2018, 17:52 2
Смотри, ты же получаешь строку? Строку. В дате 5.3.1993 находится 8 элементов, а значит если
PHP
1
strlen($dates) >= 8
то делаем уже махинации все твои с конвертацией дат
0
20 / 9 / 3
Регистрация: 02.04.2015
Сообщений: 646
16.01.2018, 17:55  [ТС] 3
дата может быть и такая
15.3.1993
и такая
15.12.1993

уже не 8 элементов
0
4 / 4 / 2
Регистрация: 21.05.2015
Сообщений: 44
16.01.2018, 17:56 4
А я зачем написал выражение "больше или равно"? Это основы пхп(даже не пхп, а арифметики), если их не знаете - вперед подучивать
0
20 / 9 / 3
Регистрация: 02.04.2015
Сообщений: 646
16.01.2018, 18:56  [ТС] 5
можно рабочий пример, а так я вообще не понял о чем вы, логику strlen($dates) >= 8

Добавлено через 37 минут
сам решил задачу так, все работает, может конечно есть более лаконичные варианты но я так сделал.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$my = '8.6.1979'; // дата и время рождения
 
$date_a = new DateTime($my);
$date_b = new DateTime();
$interval = $date_b->diff($date_a); 
 
$skolko_let = $interval->format("Полных лет: %Y");
$nodate = "Полных лет: 00";
 
if ($skolko_let == $nodate) {
    echo "Не извесно сколько лет";
} elseif ($skolko_let <> $nodate) {
    echo "$skolko_let";
}
0
16.01.2018, 18:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2018, 18:56
Помогаю со студенческими работами здесь

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

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

Вычислить количество дней, полных месяцев, и полных лет, прошедших между датами
Даны натуральные числа a1, b1 , c1 (число, месяц, год) a2, b2, ...

Как узнать, сколько лет пользователю по дате рождения?
как сделать так, чтобы можно было узнать сколько лет пользователю? p.s. дата рождения есть. ну...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru