Jquery datepicker格式日期不起作用

时间:2012-03-27 10:42:17

标签: jquery datepicker

这是我的代码:

$(function () {
    $("#datepicker").datepicker({ dateFormat: 'DD-MM-YY' });
});

显示日期时间选择器,但格式为mm / dd / yyyy。为什么不起作用?

13 个答案:

答案 0 :(得分:11)

这是默认值,这意味着它无法识别您的选项。

尝试:

dateFormat: 'dd-mm-yy'

(小写字母)

答案 1 :(得分:9)

试试这个

$(".datepicker").datepicker({dateFormat: 'dd-mm-yy'});

小写字母将起作用

答案 2 :(得分:8)

设置默认格式将解决问题,此解决方案适用于我,而以上所有都不适用。

$.datepicker.setDefaults({
     dateFormat: 'yy-mm-dd'
});

来源:Datepicker: Adding dateFormat is giving an error

答案 3 :(得分:8)

根据所使用的日期选择器的版本,正确的格式可能是:

$('#datepicker').datepicker({ format: 'yyyy-mm-dd' });

答案 4 :(得分:2)

请参阅此Jsfiddle链接,该链接对我来说非常有用:

http://jsfiddle.net/nEGTv/3/

答案 5 :(得分:2)

这个对我有用

$('#datepicker').datepicker({ format: 'dd-mm-yyyy' });

答案 6 :(得分:2)

仅尝试 format 选项,而不尝试 dateFormat

$('#datepicker').datepicker({
   format: 'dd-mm-yyyy' 
});

答案 7 :(得分:1)

完整示例:

在jsp中:

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

在剧本中:

function datepicker() {

  $("#datepicker").datepicker({
    showButtonPanel: true,
    dateFormat: 'yy-mm-dd',
    onSelect: function() {
        var dateObject = $('#datepicker').datepicker().val();
        alert(dateObject);
    }
   }
  );
}

答案 8 :(得分:1)

如果您是从后端框架/服务获取默认日期值,即Asp.Net MVC,则在输入上启动dateFormat时设置datepicker不会格式化最初的日期。

$(function() {
    $('#date-start').datepicker({
        dateFormat: 'mm/dd/yy',
        onSelect: function(startDate) {
            ...
        }
    });
});

enter image description here

上面的屏幕快照显示,即使我使用诸如03/15/2018之类的短日期初始化输入,datepicker最初也不会采用这种格式。工作后所有选择均按预期进行。

enter image description here

解决方法是您必须在dateFormat初始化后手动设置datepicker选项:

$(function() {
    // $('#date-start').datepicker({
    //     dateFormat: 'mm/dd/yy',
    //     onSelect: function(startDate) {
    //         ...
    //     }
    // });
    // $('#date-start').datepicker('option', 'dateFormat', 'mm/dd/yy');

    // Or you can chain them
    $('#date-start').datepicker({
        dateFormat: 'mm/dd/yy',
        onSelect: function(startDate) {
            ...
        }
    }).datepicker('option', 'dateFormat', 'mm/dd/yy');
});

答案 9 :(得分:0)

尝试一下:

$(function() {
    $('#datepicker').datepicker({
        dateFormat: 'dd/mm/yy',
    }).datepicker('option', 'dateFormat', 'dd/mm/yy');
});

它可以100%工作。

答案 10 :(得分:0)

$('.datepicker').datepicker({
        format: 'dd-mm-yyyy',
        autoclose: true
    })

答案 11 :(得分:0)

C#:-

 [Column(TypeName = "date")]
        [Display(Name = "Date of Birth")]
        [Required]
        [DataType(DataType.Date)]
        [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
        public DateTime? DOB { get; set; }

CSHTL:-

 @Html.EditorFor(model => model.DOB, new { htmlAttributes = new { @class = "form-control" , @required = "required", @autocomplete="off"} })

        $(document).ready(function () {
        var validationerror = false;
         $('input[type=date]').datepicker({
             dateFormat: "yy-mm-dd",
             changeMonth: true,
             changeYear: true,
             yearRange: "-60:+0"
         });

答案 12 :(得分:0)

我遇到了类似的问题:dateFormat 设置为默认值,但它不起作用。

$.App.Utils.DatePicker = {
  initialize: function(event) {
    $.datepicker.setDefaults({
      dateFormat: 'dd.mm.yy',
      firstDay: 1,
      changeMonth: true,
      changeYear: true,
      showOtherMonths: true,
      selectOtherMonths: true,
      showOn: 'both',
      buttonImage: '/assets/calendar.png',
      buttonImageOnly: true
    })
  },

activate: function(event) {
    this.initialize()
    $('input.datepicker').datepicker()
  }

但日期仍以默认格式显示,带有斜线,如 02/03/2021。也许这个选项不能被默认覆盖。

工作解决方案:从 dateFormat 中删除 setDefaults 并在初始化日期选择器时设置它:

activate: function(event) {
    this.initialize()
    $('input.datepicker').datepicker({ dateFormat: 'dd.mm.yy' })
}

Docs