Дата и время в Laravel

В этом плане в Laravel имеется отличный пакет Carbon. Для его использования нужно только указать namespace:

use Carbon\Carbon;

Для начала определим даты вчера, сегодня, завтра и текущее время:

// текущее время  - 2020-07-22 10:10:54
$current = Carbon::now();
 
// сегодня - 2020-07-22 00:00:00
$today = Carbon::today();
 
// вчера - 2020-07-22 00:00:00
$yesterday = Carbon::yesterday();
 
// завтра - 2020-07-22 00:00:00
$tomorrow = Carbon::tomorrow();

Прибавить, отнять дни от даты

// сейчас
$current = Carbon::now();
 
// прибавить 30 дней 
$future = $current->addDays(30);
 
// отнять 30 дней 
$past = $current->subDays(30);

Прибавить секунды, минуты, часы от текущего момента

// сейчас
$current = Carbon::now();
 
// прибавить 5 секунд 
$future = $current->addSeconds(5);
 
// прибавить 30 минут
$past = $current->addMinutes(30);
 
// прибавить 3 часа
$past = $current->addHours(3);

Отнимать аналогично, вместо add используем sub: subSeconds,subMinutes.
Простой пример как использовать Carbon — выбрать только сегодняшние записи:

$begin_day = Carbon::today();
$end_day = Carbon::tomorrow();
$Posts = Post::where('created_at', '>=', $begin_day)->where('created_at', '<', $end_day)->get();

Вам понравиться

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *