我使用的UI DatePicker从jQuery UI作为独立的选择器。我有这样的代码:

<div id="datepicker"></div>

和下面的JS:

$('#datepicker').datepicker();

当我尝试用下面的代码返回值时:

var date = $('#datepicker').datepicker('getDate');

我得到的答复是:

Tue Aug 25 2009 00:00:00 GMT+0100 (BST)

这是完全错误的格式。有没有办法让它以DD-MM-YYYY格式返回?


当前回答

如果你想要“dd-mm-yy”格式,你必须在Datepicker中更改dateformat,这将工作…

$("#date").
({
 dateFormar:'dd-mm-yy',
}).val();

其他回答

$("#datepicker").datepicker({ dateFormat: "yy-mm-dd" }).val()

这对我来说很管用:

$.fn.datepicker.defaults.format = 'yy-mm-dd'

我认为正确的做法是这样的:

var picker = $('.date-picker');
var date = $.datepicker.formatDate(
    picker.datepicker('option', 'dateFormat'),
    picker.datepicker('getDate'));

这样可以确保格式字符串只定义一次,并且使用相同的格式化程序将格式字符串转换为格式化的日期。

您可以在函数中简单地使用这种格式 就像

     $(function() {  
        $( "#datepicker" ).datepicker({
            dateFormat: 'dd/mm/yy',
          changeMonth: true,
          changeYear: true
        });
      });

<input type="text" id="datepicker"></p>

如果你想要“dd-mm-yy”格式,你必须在Datepicker中更改dateformat,这将工作…

$("#date").
({
 dateFormar:'dd-mm-yy',
}).val();