Информер курса валют ЦБ РФ   •   Магазин расширений
249 просм
0 комм
Поделиться:

Как вычитать и сравнивать даты в PHP?

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

В PHP существует функция «strtotime», которая преобразовывает указанную дату в метку времени Unix (дата в секундах). Именно она и поможет нам решить обе поставленные задачи.

Вычитание дат в PHP

Как я и говорил ранее – мы воспользуемся функцией «strtotime», применим ее к каждой дате и произведем необходимые операции.

Реализация:

<?php
	$you_date = "23.03.1990"; // Ваша дата
	$now_date = date('d.m.Y'); // Текущая дата
	$you_date_unix = strtotime($you_date);
	$now_date_unix = strtotime($now_date);
	$result = ($now_date_unix - $you_date_unix) / (60 * 60 * 24 * 365); // Расчитываем года
	$years = floor($result); // Округляем результат до целого числа

	if($years < 18) {
		die("Извините, но доступ к этому разделу ограничен, так как вам нет 18 лет");
	}
?>

Таким образом, мы получаем количество лет в разнице этих дат.

Важным нюансом здесь является то, что обе даты должны быть в одном формате.

Сравнение дат в PHP

Здесь мы с помощью той же функции «strtotime» переведем обе даты в Unix, после чего сравним их как обычные числа.

<?php
	$you_date = "23.03.1990"; // Ваша дата
	$now_date = date('d.m.Y'); // Текущая дата
	$you_date_unix = strtotime($you_date);
	$now_date_unix = strtotime($now_date);

	if($now_date_unix > $you_date_unix) {
		echo "Сегодняшняя дата больше указанной";
	} else {
		echo "Указанная дата больше сегодняшней";
	}
?>

Здесь также важно отметить то, что обе даты должны быть в одном формате.

0
комментарий
Оставить комментарий:
Нажимая кнопку «Отправить» вы даете согласие на обработку своих персональных данных.
Ваше Имя
Ваш E-mail
Текст комментария