jQuery UI datepicker: Отображение 1969 года, хотя я использую strtotime
У меня есть приложение для бронирования номеров на PHP+JQUERY. Я использую виджет datepicker для выбора даты, и я столкнулся с проблемой. Я пытаюсь преобразовать выбранную дату (в формате дд/мм/гггг) в формат ГГГГ-мм-дд, чтобы ВСТАВИТЬ ее в свою базу данных. Когда я выбираю первые даты, они хорошо преобразуются, но когда я выбираю другие даты, я вижу дату 1969-12-31. Вот мой код JQUERY:
$(function() {
$( "#datepicker" ).datepicker({
showOn: "button",
buttonImage: "images/calendar.gif",
buttonImageOnly: true,
minDate: 0,
maxDate: "+3W",
dateFormat: "dd/mm/yy",
beforeShowDay: function (date) {
var day = date.getDay();
return [(day == 0 || day == 1 || day == 2 || day == 3 || day == 4), ''];
},
onSelect: function(dateText) {
$("#registration").load("room.php #registration", {selectedDate: dateText}, function() {
$( "input:submit, a, button", ".registration" ).button();
$( "a", ".registration" ).click(function() { return false; });
});
}
});
});
А затем я повторяю результат для тестирования:
<?php if(isset($_POST['selectedDate']))
{
$selectedDate=$_POST['selectedDate'];
echo date('Y-m-d',strtotime((string)$selectedDate));
}
?>
Вот изображение в моем приложении: http://oi43.tinypic.com/29tv2c.jpg
1:
2 answers
В конце концов я решил проблему. вместо того, чтобы конвертировать его в PHP, я преобразовал его в JS:
onSelect: function(dateText) {
//Converting the date format by spliting the date.
var dt= dateText;
var arrDt = dt.split('/');
var newDt = arrDt[2] + "-" + arrDt[1] + "-" + arrDt[0];
//Loading the rooms div acoording to the sent selected date in JSON format
$("#registration").load("room.php #registration", {selectedDate: newDt}, function() {
$( "input:submit, a, button", ".registration" ).button();
$( "a", ".registration" ).click(function() { return false; });
});
}
Но я все еще не знаю, что вызвало проблему с преобразованием функции date()!
Какой тип выбранной даты вы храните в MySQL? С типом данных ДАТЫ вам просто нужно передать формат "ГГГГ-ММ-ДД", чтобы ВСТАВИТЬ инструкцию.
Смотрите этот вопрос для получения более подробной информации
А также это http://dev.mysql.com/doc/refman/5.5/en/datetime.html