Laravel сравнивает углеродный формат даты из БД с текущей датой Javascript

#javascript #php #laravel

#javascript #php #laravel

Вопрос:

В настоящее время я использую js-скрипт с данными для отображения моих данных в моем blade.php . Я хочу сравнить столбец created_at с текущей системной датой и изменить цвет строки данных на красный, если он предшествует текущей дате. Однако вся моя строка данных изменяется на красный, даже если дата данных совпадает с текущей датой. Я отформатировал дату в своей базе данных как Carbon::parse($date)-> toDateString() и также изменил формат текущей даты, который я получаю в своем javascript, на формат toDateString() .

Ниже приведены мои коды javascript на blade.php

     let date = new Date();
    now = date.toDateString();

    var ordersTable = $('#orders_table').DataTable({ 
        stateSave: true,
        "rowCallback": function(row, data, index){
            if(data[1] < now){
                $(row).css('color', 'red');
            }
            else{
                $(row).css('color', 'green');
            }
        },
 

Ниже приведен снимок экрана фиктивных данных, которые у меня есть:
введите описание изображения здесь

Надеюсь, я смогу четко сформулировать вопрос

Комментарии:

1. Можете ли вы добавить строки данных, которые возвращаются с сервера. В этом случае Carbon::parse($date)->toDateString() формат должен отличаться от того, что у вас есть в javascript. Для сравнения строковых дат в javascript они оба должны иметь одинаковый формат.

2. Я предполагаю data[1] , что содержит формат «Y-m-d» на стороне php, и вы сравниваете это с Fri Mar 05 2021 этим форматом в javascript?

3. Привет, спасибо за комментарий Алекс, я думаю, что сейчас это работает! Я использовал этот формат для своей php-версии Carbon::parse($date)->format('D M d Y');

4. Я также изменил условие сравнения if, чтобы if (data[1] !== now) оно работало, если я использую < оператор, он по какой-то причине не работает

5. Было бы здорово сохранить привычку сравнивать дату объекта вместо строки, чтобы избежать таких странных проблем.