Besoin d'aide ?

Comparaison date

Avatar de lavarelkyi
lavarelkyi

Salut la team,

Alors j'ai un petit soucis, j'essais de faire la comparaison de deux dates (la date en cours et celle que l'utilisateur aura rentré a travers un datepicker ) mais le probleme c'est que lorsque l'utilisateur entre une date par exemple 06/04/2019, le programme le datepicker me le renvoi sous la forme de 04/06/2019 .

Je n'arrive pas à comprendre pourquoi

Posté il y a 1 an
Avatar de bestmomo
bestmomo

Salut,

Il faut voir les possibilités de localisation du composant que tu utilises. Là il est à la mode américaine.

Posté il y a 1 an
Avatar de lavarelkyi
lavarelkyi

merci pour votre reponse, voici un peu ce que j'ai fais pour effectuer cette comparaison :


 public function passes($attribute, $value)
    {
      $datsaisie = Carbon::parse($value);
      dd($datsaisie);
      $today = Carbon::now();
      $distance=$today->diffInDays($datsaisie,false);

      if($distance<=0){
        return true;
      }
    }

    /**
     * Get the validation error message.
     *
     * @return string
     */
    public function message()
    {
        return "Cette date est incorrect, entrer une date inferieur ou egale à celle d'aujourd'hui.";
    }

Je tiens également à préciser que cette comparaison c'est faite à travers un rule

Posté il y a 1 an
Avatar de KYoann
KYoann

Salut, avec le code que tu viens de partagé cela ne fonctionne pas correctement ?

Posté il y a 1 an
Avatar de lavarelkyi
lavarelkyi

Oups !!! veuillez m'excuser, j'ai du appuyé sur le mauvais bouton , effectivement ce code ne fonctionne pas comme je le souhaite apres un dd($value) cela me renvoi une date au format americain ce qui n'est pas juste, puisque je souhaite faire la difference entre deux dates au format français c-a-d jj/mm/aaaa

Posté il y a 1 an
Avatar de KYoann
KYoann

Si la comparaison entre deux date au format francais ne marche pas, peut être peut eu essayer de les convertir avant la comparaison

pour ca tu peut utiliser la méthode format() de ton objet carbon.

$distance=$today->diffInDays($datsaisie->format(Y-m-d),false);

Je suis pas sur des argument que j'ai mis dans la méthode format ;)

Posté il y a 1 an
Avatar de lavarelkyi
lavarelkyi

Salut , merci pour ta reponse @Kyoann

c'est exactement ce que j'ai fait pour que cela puisses marcher et encore merci de m'avoir repondu

Posté il y a 1 an
Avatar de KYoann
KYoann

Cool que cela t'ai aidé :)

Petite astuce, quand tu veux comparer des valeurs, n'oublie pas d'utiliser la fonction dd(), et surtout tu peut faire cela dd( $valeur1, $valeur2) , ce qui est super pratique :)

Posté il y a 1 an

Vous ne pouvez pas répondre à ce sujet.