Как отформатировать сообщение yy-mm-dd datepicker в php?

1

У меня есть javascript jquery-ui datepicker, основанная на библиотеке функция для выбора from_date - to_date range и post to php. Формат отправляется на php как:

Среда 13 мая 2015 00:00:00 GMT + 0200 (Центральноевропейское летнее время)

Как я могу задать формат, например 2015-05-20, для сообщения datepicker для php в моей функции?

       function updateResults() {
       $.getJSON('results.php', {
       from_date: fromDate.datepicker('getDate').toString(),
       to_date: toDate.datepicker('getDate').toString()
       }, function(data,status, xhr) {

       $.plot('#flotcontainer', data, options);
       });
       }


                            //create a couple of date textboxes
                    $.datepicker.setDefaults
                            ({
                                    dateFormat: 'dd/mm/yy', defaultDate: '-1w', changeMonth: true, changeYear: true,
                                    maxDate: 0, showButtonPanel: true, showWeek: true
                            });

                            var fromDate = $('#from').datepicker
                            ({
                                    onSelect: function()
                                    {
                                            var option = this.id == 'from' ? 'minDate': 'maxDate';
                                            toDate.not(this).datepicker('option', option, $(this).datepicker('getDate'));
            updateResults(); // When a new date is selected update the results

            }
                            });

                            var toDate = $('#to').datepicker
                            ({
                                    onSelect: function()
                                    {
            updateResults(); // When a new date is selected update the results


            }

                            });

                            //Set the default from and to dates.
                    fromDate.datepicker('setDate', '-1w');
                    toDate.datepicker('setDate', '+0');
                    updateResults(); // Initial call on load



              });
  • 0
    первым вы должны объяснить , КОТОРАЯ DatePicker библиотеки вы используете ...
  • 0
    Вы можете найти это полезным для обработки в JavaScript перед публикацией
Показать ещё 1 комментарий
Теги:
datepicker

2 ответа

1

Формат отправляется на php как:

Среда 13 мая 2015 00:00:00 GMT + 0200 (Центральноевропейское летнее время)

Сначала создайте временную метку:

$ts = strtotime($_POST['date']);

Как я могу задать формат 2015-05-20 для сообщения datepicker для php в моей функции?

С отметкой времени вы можете использовать дату:

$date = date("Y-m-d", $ts);
  • 0
    Я уже пытался с преобразованием PHP, как это: $ from_date = date ('Ymd', strtotime (preg_replace ('/ \ s (. * $ /', '', $ _POST ['from_date']))); Но когда переменная в запросе mysql не работает: $ query = "SELECT date, info FROM datatbl WHERE date> = '$ from_date' AND date <= '$ to_date' AND name = 'somename'";
-2

Вы должны использовать $.datepicker.formatDate(); конвертировать даты.

Пример:

var date = $('.datepicker').datepicker('getDate');
var convertedDate = $.datepicker.formatDate('dd-mm-yy', date);

Таким образом, ваша функция станет

function updateResults() {
    var from_date = fromDate.datepicker('getDate');
    var to_date = toDate.datepicker('getDate');

    from_date = $.datepicker.formatDate('yy-mm-dd', from_date);
    to_date = $.datepicker.formatDate('yy-mm-dd', to_date);

    $.getJSON('results.php', {
        from_date: from_date,
        to_date: to_date
    }, function (data, status, xhr) {
        $.plot('#flotcontainer', data, options);
    });
}

Для живого примера проверьте этот JSfiddle

РЕДАКТИРОВАТЬ:

Используйте $.datepicker.formatDate('yy-mm-dd',..); конвертировать даты. Я изменил свой ответ и предоставил JSfiddle

  • 0
    yy-mm-yy ? Мне кажется, у вас есть опечатка. ;)
  • 1
    Юп, просто тоже это увидел и изменил. Спасибо!
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню