У меня есть 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
});
Формат отправляется на php как:
Среда 13 мая 2015 00:00:00 GMT + 0200 (Центральноевропейское летнее время)
Сначала создайте временную метку:
$ts = strtotime($_POST['date']);
Как я могу задать формат 2015-05-20 для сообщения datepicker для php в моей функции?
С отметкой времени вы можете использовать дату:
$date = date("Y-m-d", $ts);
Вы должны использовать $.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
yy-mm-yy
? Мне кажется, у вас есть опечатка. ;)