Search code examples
laravelfunctiondatestrtotime

DateTime::__construct(): Failed to parse time string (22/03/1983) at position 0 (2): Unexpected character


I'm faced a problem in my function. In this function, I want to select the collaborator where date date birth is the date now. But the problem is that I have a error like: In Creator.php line 80:

DateTime::__construct(): Failed to parse time string (22/03/1983) at position 0 (2): Unexpected character

I need help

public static function listCard(){

    $collaborateurs = Organigramme::whereMonth('date_de_naissance', now()->month)->get();

    $collaborateursConcernes = [];

    foreach ($collaborateurs as $collaborateur) {
        // $today= date('d/m/Y');

        $date_de_naissance = Carbon::parse($collaborateur->date_de_naissance);
        $date_de_naissance = strtotime($date_de_naissance);

        $today= date('d-m');
        $annif = date('d-m', $date_de_naissance);
        if($annif == $today ){

            $collaborateursConcernes[] = $collaborateur;

        }

    }

    return collect($collaborateursConcernes);
}

Thanks in advance


Solution

  • Because Carbon does not understand d/m/Y format. You can use :

    Carbon::createFromFormat('d/m/Y', $collaborateur->date_de_naissance)->format('d-m');