如何以特定格式获取日期

How to get date in specific format

我想要这种格式的日期格式:2015-08-04T00:00:00Z。

所以第一年,月,日。

 beforeShowDay: function (date) {
                                var dt = $.datepicker.formatDate('yy-mm-dd', date, "getDate")                               
                                return [$('#form_one3 > option:gt(0)[value="' + dt + 'T00:00:00Z"]').length != 0];

                            },


                            onSelect: function (dateText, inst) {
                                var dt = $.datepicker.formatDate('yy-mm-dd', dateText, "getDate")
                                alert(dt);

                                var hallo = $("#form_inp1").val() + 'T00:00:00Z';
                                alert(dateText);
                                alert(hallo);


                                //$("#form_inp1").datepicker("getDate");
                                //alert($("#form_inp1").formatDate('yy-mm-dd', dateText, "getDate")


                            },

但是如果我发出警报(日期文本),我会看到格式为:4-8-2015,它必须是:2015-08-04。

谢谢

如果我这样尝试:

onSelect: function (dateText, inst) {
                                dateText = dateText.split("-");
                                dateText = new Date('' + dateText[2] + '-' + dateText[1] + '-' + dateText[0] + '');
                                alert(dateText);
}

我收到无效日期

所以这个var hallo = $("#form_inp1").val() + 'T00:00:00Z';

returns:4-8-2015T00:00:00Z。但它必须 be:2015-08-04T00:00:00Z.

谢谢

快速修复是使用普通 Javascript 更改日期格式。这可以通过以下脚本来实现。

dt= dt.split("-");
dt = new Date('' + dt[2] + '-' + dt[1] + '-' + dt[0] + '');

如果日、月、年小于10,要加零,使用以下方法。

function AddTrailingZero(i) {
    if (i < 10) { i = "0" + i };  // add zero in front of numbers < 10
    return i;
}

如果您对上面的代码片段有任何疑问,请告诉我。