#php #laravel
Вопрос:
Я сравниваю дату ввода с сегодняшним днем в контроллере Laravel :
$start_date = Carbon::parse($request->get('start_date'))->format('Y-m-d');
$today = Carbon::now()->format('Y-m-d');
if ( $start_date < $today ){
dd('smaller');
}
else {
dd('bigger');
}
этого достаточно ? или мне нужно использовать что-то вроде этого : $result = $start_date->lt($today);
Ответ №1:
Когда вы проанализировали обе даты с помощью углерода, это очень просто, вам просто нужно использовать углеродные методы:
https://carbon.nesbot.com/docs/#api-comparison
В вашем случае:
if ( $start_date->lessThanOrEqualTo($today) ){
dd('smaller');
}
else {
dd('bigger');
}
Просто нажмите на ссылку Carbon, которую я вам отправил, и вы увидите все доступные методы сравнения:
Другие методы:
$first->setDateTime(2012, 1, 1, 0, 0, 0);
$second->setDateTime(2012, 1, 1, 0, 0, 0); // Remember tz is 'America/Vancouver'
var_dump($first->equalTo($second)); // bool(false)
var_dump($first->notEqualTo($second)); // bool(true)
var_dump($first->greaterThan($second)); // bool(false)
var_dump($first->greaterThanOrEqualTo($second)); // bool(false)
var_dump($first->lessThan($second)); // bool(true)
var_dump($first->lessThanOrEqualTo($second)); // bool(true)
// All have short hand aliases and PHP equivalent code:
var_dump($first->eq($second)); // bool(false)
var_dump($first->equalTo($second)); // bool(false)
var_dump($first == $second); // bool(false)
var_dump($first->ne($second)); // bool(true)
var_dump($first->notEqualTo($second)); // bool(true)
var_dump($first != $second); // bool(true)
var_dump($first->gt($second)); // bool(false)
var_dump($first->greaterThan($second)); // bool(false)
var_dump($first->isAfter($second)); // bool(false)
var_dump($first > $second); // bool(false)
var_dump($first->gte($second)); // bool(false)
var_dump($first->greaterThanOrEqualTo($second)); // bool(false)
var_dump($first >= $second); // bool(false)
var_dump($first->lt($second)); // bool(true)
var_dump($first->lessThan($second)); // bool(true)
var_dump($first->isBefore($second)); // bool(true)
var_dump($first < $second); // bool(true)
var_dump($first->lte($second)); // bool(true)
var_dump($first->lessThanOrEqualTo($second)); // bool(true)
var_dump($first <= $second); // bool(true)