Дата и время в 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(); |