Laravel Tutoriel
3 min de lecture 4170 vues

Comment comparer deux dates avec Laravel Carbon ?

mckenziearts

Arthur Monney

@mckenziearts

Comment comparer deux dates avec  Laravel Carbon ?

Shalom jeune padawan, dans ce tutoriel nous allons voir comment comparer 2 dates sur Laravel en utilisant Carbon.

Carbon est la classe PHP utilisée par défaut par tous les champs de type date sur Laravel. Dans ce tutoriel je vais vous présenter quelques fonctions qui vous permettrons de facilement comparer les dates sur Laravel.

Vous pouvez comparer des dates avec les fonctions suivantes qui vous aideront à vérifier quelle date est plus grande, plus petite ou égale à l'autre, alors voyons un exemple par un :

  • eq() equals
  • ne() not equals
  • gt() greater than
  • gte() greater than or equals
  • lt() less than
  • lte() less than or equals

eq() la fonction d'égalité

Cette fonction permet de savoir si 2 dates sont égales

> $date1 = now();
 
Illuminate\Support\Carbon @1683094025 {#7148
date: 2023-05-03 07:07:05.724047 Africa/Douala (+01:00),
}
 
> $date2 = now()->addDay();
Illuminate\Support\Carbon @1683180428 {#7145
date: 2023-05-04 07:07:08.735584 Africa/Douala (+01:00),
}
 
> $result = $date1->eq($date2);
false

Vous pouvez aussi l'utiliser avec des informations qui viennent directement de votre model, par exmple pour savoir si l'acticle sur lequel vous êtes vient d'être publié, etc

$article = Post::whereSlug($slug);
$article->published_at->eq(now())

Ou vous pouvez utiliser des dates spécifiques pour faire votre comparaison

$date1 = Carbon::createFromFormat('m/d/Y H:i:s', '03/05/2023 10:20:00');
$date2 = Carbon::createFromFormat('m/d/Y H:i:s', '03/05/2023 10:20:00');
 
$result = $date1->eq($date2);
dd($result);

Résultat

bool(true)

ne() la fonction d'inégalité

Cette fonction permet de savoir si 2 dates ne sont pas égales, et elle fonction dans le principe exactement comme la fonction eq()

> $date1 = now();
 
Illuminate\Support\Carbon @1683094025 {#7148
date: 2023-05-03 07:07:05.724047 Africa/Douala (+01:00),
}
 
> $date2 = now()->addDay();
Illuminate\Support\Carbon @1683180428 {#7145
date: 2023-05-04 07:07:08.735584 Africa/Douala (+01:00),
}
 
> $result = $date1->ne($date2);
true

gt() la fonction plus grande que

Permet de savoir si la première date est supérieure à la 2e

> $date1 = now();
 
Illuminate\Support\Carbon @1683094025 {#7148
date: 2023-05-03 07:07:05.724047 Africa/Douala (+01:00),
}
 
> $date2 = now()->addDay();
Illuminate\Support\Carbon @1683180428 {#7145
date: 2023-05-04 07:07:08.735584 Africa/Douala (+01:00),
}
 
> $result = $date1->gt($date2);
false

gte() la fonction supérieure ou égale

Permet de savoir si la première date est supérieure ou égale à la 2e

> $date1 = now();
 
Illuminate\Support\Carbon @1683094025 {#7148
date: 2023-05-03 07:07:05.724047 Africa/Douala (+01:00),
}
 
> $date2 = now()->addDay();
Illuminate\Support\Carbon @1683180428 {#7145
date: 2023-05-04 07:07:08.735584 Africa/Douala (+01:00),
}
 
> $result = $date1->gte($date2);
false

lt() la fonction inférieure à

Permet de savoir si la première date est inférieure à la 2e

> $date1 = now();
 
Illuminate\Support\Carbon @1683094025 {#7148
date: 2023-05-03 07:07:05.724047 Africa/Douala (+01:00),
}
 
> $date2 = now()->addDay();
Illuminate\Support\Carbon @1683180428 {#7145
date: 2023-05-04 07:07:08.735584 Africa/Douala (+01:00),
}
 
> $result = $date1->lt($date2);
true

lte() la fonction inférieure ou égale à

Permet de savoir si la première date est inférieure ou égale à la 2e

> $date1 = now();
 
Illuminate\Support\Carbon @1683094025 {#7148
date: 2023-05-03 07:07:05.724047 Africa/Douala (+01:00),
}
 
> $date2 = now()->addDay();
Illuminate\Support\Carbon @1683180428 {#7145
date: 2023-05-04 07:07:08.735584 Africa/Douala (+01:00),
}
 
> $result = $date1->lte($date2);
true

Nous voici à la fin de ce petit tutoriel, nous avons passé en revu juste quelques fonctions parmi les plus utilisées pour comparer les dates mais vous pouvez avoir l'ensemble des méthodes pour comparer vos date sur Laravel avec Carbon via ce lien de comparaison sur la documentation de Carbon.

J'espère que ce tutoriel vous a été utile. N'hésitez pas à partager et que la paix soit avec vous. Shalom !

mckenziearts

Arthur Monney

@mckenziearts

Fullstack Designer - Laravel & React Developer. Laravel Cameroon Organizer @laravelcm | @shopperlabs

Vous aimez cet article ? Faite le savoir en partageant