更改beforeShowDay函数中的日期选择器日期格式



我使用beforeShowDay函数来突出显示与MySQL查询'used'日期匹配的日期。

我的日期选择器设置如下:

dp = jQuery( "#datepicker" ).datepicker(
                                { 
                                    minDate: +1, 
    maxDate: "+1M",
    dateFormat: 'yyyy-mm-dd',
    beforeShowDay: function(date) {
                                                          q = q_dates[date];
                                                    }
                                                }
                                                );

问题是DATE的值看起来像这样:Mon May 27 2013 00:00:00 GMT+0700(东南亚标准时间)

我试过设置日期格式。我也试过date. tostring ('yyyy-mm-dd'),认为它会像Javascript的日期对象一样工作。

如何将DATE转换为yyyy-mm-dd格式?

如何使用Date.js插件。查看他们的文档。

也可以尝试使用下面的代码:

date.getFullYear() + "-" + date.getMonth() + "-" + date.getDate() ;
编辑:

对于2位数的日期和月份,我建议看一下这个SO问题。
var date = new Date("Mon May 27 2013 00:00:00 GMT+0700 (SE Asia Standard Time)");
alert(date.getFullYear() + "-" + ("0" + (date.getMonth() + 1)).slice(-2) + "-" + ("0" + date.getDate()).slice(-2) );

无需任何额外插件。使用内置的jqueryui formatDate();

查看所有不同格式的文档

为了保证质量,我将把所有的日期格式贴在这里

Datepicker日期格式

"mm/dd/yy"
"yy-mm-dd"
"d M, y"
"d MM, y"
"DD, d MM, yy"
"'day' d 'of' MM 'in the year' yy"

jqueryui

//return today's date
$.datepicker.formatDate("yy-mm-dd", $('#datepicker').datepicker("getDate"));
//alternatively you can use this syntax
jQuery.datepicker.formatDate('yy-mm-dd', 'getDate');

Datepicker

$('#datepicker').datepicker({
dateFormat: 'yy-mm-dd',
changeMonth: true,
changeYear: true,
beforeShowDay : function (date){
//format date
var jquerydate = $.datepicker.formatDate("yy-mm-dd", date);
//alternative syntax
var jquerydate = jQuery.datepicker.formatDate('yy-mm-dd', date);
}
});

最新更新