错误的月份在Jquery日期选择器中解释,数据从MySQL中提取

时间:2012-09-13 22:00:56

标签: jquery mysql jquery-ui datepicker

感谢提前帮助。我刚刚开始,所以我可能完全以错误的方式做这件事

确定问题是,在DatePicker中调用时,PHP中的日期值 2012,2,13 (2012年2月13日)被解释为2012年3月13日,因为2表示启动表单时的第三个月0是三月,我得到了那么多。

//Getting the Min Date from the Datetime field

    $sqlmin = "Select min(datetime) from table1";
    $resultmin = mysql_query($sqlmin);
    $mindate = mysql_fetch_array($resultmin);
    $datetime1 = date('Y, n, j', strtotime($mindate[0])); //this will give me 2012, 2, 13 (Feb)

现在在JS部分


    $(function() {
       $( "#fromdate" ).datepicker({
       dateFormat: 'yy-mm-dd',
       minDate: new Date( php echo $datetime1; ),  // this thinks it is March but i want Feb

所以问题是如何在Datepicker中将月份变为 2月而不是 3月

3 个答案:

答案 0 :(得分:1)

请改用此格式:"F j, Y, g:i a"

参考文献: http://www.php.net/manual/en/function.date.php#example-665

$datetime1 = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm

这是JavaScript预期的格式之一。

minDate: new Date("<?php echo $datetime1; ?>")

答案 1 :(得分:0)

只需更改新的日期功能:

minDate: 
$(function() {
   var phpDate = new Date( php echo $datetime1; );
   $( "#fromdate" ).datepicker({
   dateFormat: 'yy-mm-dd',
   minDate: phpDate.setMonth(phpDate.getMonth() - 1),

getMonth将返回0-11,setMonth将正确使用它。

答案 2 :(得分:0)

我设法通过创建月份名称列表来解决“错误的月份”问题:

$(function() {
                $( "#alkupvm" ).datepicker({
                    dateFormat:"yy-mm-dd", 
                    firstDay:1, 
                    dayNamesMin:["Su","Ma","Ti","Ke","To","Pe","La"],
                    monthNames:["Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kes&auml;kuu", "Hein&auml;kuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"],
                    minDate:"-2y",
                    stepMonths: 1,
                    maxDate:"+2m"

                    });
                });

这里特别是monthNames列表/数组。现在月份正确显示。