Как исправить проблему с настраиваемым диапазоном дат в daterangepicker? - PullRequest
0 голосов
/ 04 февраля 2019
if($selected_date_interval == 'Yesterday'){
 $_SESSION['start_date_by_interval'] = "moment().subtract(1, 'days')";
 $_SESSION['end_date_by_interval'] = "moment().subtract(1, 'days')";
}
elseif ($selected_date_interval == 'Today'){
 $_SESSION['start_date_by_interval'] = "moment()";
 $_SESSION['end_date_by_interval'] = "moment()";
 }
elseif($selected_date_interval == 'Last 7 Days'){
 $_SESSION['start_date_by_interval'] = "moment().subtract(6, 'days')";
 $_SESSION['end_date_by_interval'] = "moment()";
 }
elseif ($selected_date_interval == 'Last 30 Days')
{
 $_SESSION['start_date_by_interval'] = "moment().subtract(30, 'days')";
 $_SESSION['end_date_by_interval'] = "moment()";
 }
elseif ($selected_date_interval == 'This Month'){
 $_SESSION['start_date_by_interval'] = "moment().startOf('month')";
 $_SESSION['end_date_by_interval'] = "moment().endOf('month')";
 }
elseif ($selected_date_interval == 'Last Month'){
$_SESSION['start_date_by_interval'] = "moment().subtract(1, 'month').startOf('month')";
 $_SESSION['end_date_by_interval'] = "moment().subtract(1, 'month').endOf('month')";
 }else{
  $_SESSION['start_date_by_interval'] = "moment($start_date,'MMMM D, YYYY')";
  $_SESSION['end_date_by_interval'] = "moment($end_date,'MMMM D, YYYY')";
  }

Все типы моих диапазонов дат работают хорошо вместо пользовательских дат.Всякий раз, когда я выбираю пользовательскую дату, дата отображается неправильно.Поэтому для пользовательской даты я передаю тип и формат даты выше в последнем состоянии.Что я делаю не так, пожалуйста, скажите мне.

Примечание. Я использую библиотеку http://daterangepicker.com.

Это мой код JavaScript для выбора даты.

$('#reportrange').daterangepicker({
            "showDropdowns": true,
            "autoApply": false,

            ranges: {
                'Today': [moment(), moment()],
                'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
                'Last 7 Days': [moment().subtract(6, 'days'), moment()],
                'Last 30 Days': [moment().subtract(30, 'days'), moment()],
                'This Month': [moment().startOf('month'), moment().endOf('month')],
                'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],
//                'Custom': [moment(end,'YYYY-MM-DD'), moment(start,'YYYY-MM-DD')]
//                'Custom Range': [end, start]
            },
            startDate: start,
            endDate: end,
            "locale": {
                "format": "YYYY-MM-DD",
                "separator": "-",
                "applyLabel": "Apply",
                "cancelLabel": "Cancel",
                "fromLabel": "From",
                "toLabel": "To",
                "customRangeLabel": "Custom",
                "weekLabel": "W",
                "daysOfWeek": [
                    "Su",
                    "Mo",
                    "Tu",
                    "We",
                    "Th",
                    "Fr",
                    "Sa"
                ],
                "monthNames": [
                    "January",
                    "February",
                    "March",
                    "April",
                    "May",
                    "June",
                    "July",
                    "August",
                    "September",
                    "October",
                    "November",
                    "December"
                ],
                "firstDay": 1
            },
            opens: 'left'
        }, cb);

        cb(start, end);

    });
...