РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1146 of 1392 menu

Метод diffForHumans

Метод diffForHumans класса Carbon преобразует разницу между двумя датами в строку, понятную человеку. Он автоматически выбирает подходящую единицу измерения (секунды, минуты, часы, дни, месяцы, годы) и возвращает фразы вида "5 минут назад", "через 2 дня", "только что" и т.д. Метод часто используется для отображения времени создания или обновления записей в пользовательском интерфейсе.

Метод вызывается на экземпляре Carbon и может принимать три параметра: первый - количество единиц для сингуляризации (по умолчанию false), второй - длина текста (по умолчанию false), третий - флаг использования относительных фраз (по умолчанию false). Без параметров метод использует стандартные настройки локализации.

Синтаксис

<?php use CarbonCarbon; $date = Carbon::now(); $result = $date->diffForHumans(); ?>

Пример

Получим разницу между текущим моментом и датой в прошлом:

<?php use CarbonCarbon; $now = Carbon::now(); $past = Carbon::now()->subHours(3); $res = $past->diffForHumans(); echo $res; ?>

Результат выполнения кода:

"3 hours ago"

Пример

Сравним две даты, одна из которых находится в будущем:

<?php use CarbonCarbon; $now = Carbon::now(); $future = Carbon::now()->addDays(5); $res = $future->diffForHumans(); echo $res; ?>

Результат выполнения кода:

"5 days from now"

Пример

Используем параметр для короткого формата вывода:

<?php use CarbonCarbon; $now = Carbon::now(); $past = Carbon::now()->subHours(3); $res = $past->diffForHumans(null, true); echo $res; ?>

Результат выполнения кода:

"3h"

Пример

Сравним две даты с высокой точностью:

<?php use CarbonCarbon; $now = Carbon::now(); $past = Carbon::now()->subMinutes(45); $res = $past->diffForHumans(); echo $res; ?>

Результат выполнения кода:

"45 minutes ago"

Пример

Используем параметр для сингуляризации (полная форма):

<?php use CarbonCarbon; $now = Carbon::now(); $past = Carbon::now()->subHours(1); $res = $past->diffForHumans(null, false, true); echo $res; ?>

Результат выполнения кода:

"1 hour ago"

Пример

Получим разницу между двумя произвольными датами:

<?php use CarbonCarbon; $date1 = Carbon::parse('2023-01-15'); $date2 = Carbon::parse('2023-01-20'); $res = $date1->diffForHumans($date2); echo $res; ?>

Результат выполнения кода:

"5 days before"

Смотрите также

  • метод format,
    который форматирует дату по заданному шаблону
  • метод toDateTimeString,
    который преобразует дату в стандартный строковый формат
  • метод toDateString,
    который возвращает только дату без времени
  • метод isPast,
    который проверяет, является ли дата прошедшей
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить