Метод isPast
Метод isPast класса Carbon используется для определения,
является ли переданная дата и время прошедшими по отношению
к текущему моменту. Метод не принимает параметров и возвращает
логическое значение true или false. Проверка
выполняется с учетом временной зоны, установленной в
конфигурации приложения.
Синтаксис
<?php
Carbon::now()->isPast();
Carbon::parse($date)->isPast();
?>
Пример
Давайте проверим, является ли текущий момент времени
прошедшим (всегда возвращает false, так как
сейчас не может быть в прошлом):
<?php
use Carbon\Carbon;
$res = Carbon::now()->isPast();
echo $res;
?>
Результат выполнения кода:
false
Пример
Давайте создадим дату в прошлом и проверим её
с помощью метода isPast:
<?php
use Carbon\Carbon;
$date = Carbon::now()->subDays(5);
$res = $date->isPast();
echo $res;
?>
Результат выполнения кода:
true
Пример
Давайте проверим, является ли дата из строки прошедшей:
<?php
use Carbon\Carbon;
$date1 = Carbon::parse('2025-01-01');
$date2 = Carbon::parse('2027-12-31');
$res1 = $date1->isPast();
$res2 = $date2->isPast();
echo $res1;
echo $res2;
?>
Результат выполнения кода:
true
false
Пример
Давайте используем метод isPast для проверки
даты истечения подписки пользователя:
<?php
namespace App\Http\Controllers;
use Carbon\Carbon;
use App\Models\Subscription;
class SubscriptionController extends Controller
{
public function checkExpired($id)
{
$subscription = Subscription::find($id);
$expiresAt = $subscription->expires_at;
if ($expiresAt->isPast()) {
echo "Subscription is expired";
} else {
echo "Subscription is active";
}
}
}
?>
Смотрите также
-
метод
isFuture,
который проверяет, находится ли дата в будущем -
метод
isToday,
который проверяет, является ли дата сегодняшней -
метод
format,
который форматирует дату в строку -
метод
diffForHumans,
который возвращает разницу между датами в удобочитаемом виде