Хорошее контекстное форматирование даты в laravel

#php #laravel #date

#php #laravel #Дата

Вопрос:

Я делаю простое почтовое приложение. Я хотел отформатировать дату в laravel для пользователя удобным способом, например, опустить дату, если сообщение было отправлено сегодня, если оно было отправлено на прошлой неделе, просто сказать «вчера», «2 дня назад».

Я работаю с laravel и поражен количеством функций, доступных из коробки. Есть ли уже такая функциональность или я должен сам ее кодировать?

Ответ №1:

Да! Не смотрите дальше, чем на пакет Carbon, который поставляется в комплекте с Laravel.

Документы можно найти здесь: http://carbon.nesbot.com/docs /

Вы можете найти еще несколько удобочитаемых выходных данных, упомянутых здесь: http://carbon.nesbot.com/docs/#api-humandiff

Чтобы использовать carbon, просто импортируйте его в один из ваших классов следующим образом:

 use CarbonCarbon;

$date = Carbon::createFromDate(2012, 1, 1, 'Europe/London');
  

Ответ №2:

Laravel использует библиотеку Carbon. Здесь http://carbon.nesbot.com/docs / вы можете увидеть множество примеров, таких как: $yesterday = Carbon::yesterday(); echo $yesterday;

Ответ №3:

Если вы хотите использовать его в своей модели Eloquent, вы можете сделать это в классе model:

 public function readableTime()
{
    return $this->created_at->diffForHumans();
}