6

我有 PHP+JQUERY 房间预订应用程序。我正在使用 datepicker 小部件来选择日期,但遇到了问题。我尝试将所选日期(以 dd/mm/yyyy 格式)转换为 YYYY-mm-dd 格式,以便将其插入到我的数据库中。当我选择第一个日期时,它转换得很好,但是当我选择其他日期时,我看到日期 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在此处输入图像描述

4

2 回答 2

1

最终我通过了这个问题。我没有在 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() 函数转换问题!

于 2012-04-08T19:48:14.563 回答
0

您在 MySQL 中存储的选定日期的类型是什么?使用 DATE 数据类型,您只需将 'YYYY-MM-DD 格式传递给 INSERT 语句。

有关更多详细信息,请参阅此问题

还有这个 http://dev.mysql.com/doc/refman/5.5/en/datetime.html

于 2012-04-08T14:00:15.353 回答