Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Forrest's avatar

ajax call returns wrong timestamp

Hey everyone, I'm trying to create filter by date for leads table. I have date picker from which I get date range and an ajax call :

 $('#filters-form-submit').on('click', function () {
            const created_at = {};
            let range = $('#date-range').val();
            if (range) {
                range = range.split('-');
                created_at.min = range[0].replace(/\//g, '-').trim() + ' 00:00:00';
                created_at.max = range[1].replace(/\//g, '-').trim() + ' 23:59:59';
            }

            $.ajax({
            method: "POST",
            url: "{{route('filterLeads')}}",         
            dataType: "json", 
            data: {
                    Filters: created_at
                }
            })

which addresses to LeadsController:

public function filterLeads(Request $request) {
        
        $leads = Lead::select('id', 
        DB::raw('DATE_FORMAT(created_at, "%Y-%m-%d %H:%i:%s") as created_at'), 
        'phone_number')
        ->whereBetween('created_at', [$request->Filters['min'], $request->Filters['max']])
        ->get();
        
       
        return response()->json($leads);
    }

The problem is that this json response returns something like this :

2022-02-01T15:45:33.000000Z 

I've read that it's some kind of serialization but couldn't find the solution. Any kind of advice will be appreciated.

0 likes
4 replies
Forrest's avatar

@s4muel Thank you for your reply. It worked partially. I mean it changed from 2022-02-01T15:45:33.000000Z to 2022-02-01 15:45:33 but there is 4 hours difference between this date and the date in database (2022-02-01 19:45:33). I think it's because my local time zone

1 like
Forrest's avatar

This piece of code in model solved my problem :

protected function serializeDate(DateTimeInterface $date){
        return $date->format('Y-m-d H:i:s');
    }

Thank you all for helping me

1 like

Please or to participate in this conversation.