jQuery Datepicker设置dateFormat修改日期格式不生效问题求解
解决方案
问题核心原因
你首次调用 .datepicker() 方法时如果传的是setDate这类操作指令,jQuery Datepicker会先用默认配置完成初始化,后续再传入配置对象的写法不会再修改已有实例的配置,所以dateFormat设置不生效。
可行解决方法
方法1:首次初始化时传入全量配置
确保第一次调用datepicker时就把dateFormat和其他需要的配置一起传入,之后再调用操作类方法:
// 首次初始化直接指定日期格式 $( "#datepicker1" ).datepicker({ dateFormat: "dd-mm-yy" }); // 初始化完成后再设置默认日期 $("#datepicker1").datepicker("setDate", '+1d');
方法2:已初始化的实例用option方法修改格式
如果datepicker已经完成初始化,需要修改日期格式时调用option方法更新配置:
// 为已初始化的datepicker修改日期格式 $("#datepicker1").datepicker("option", "dateFormat", "dd-mm-yy"); // 后续操作都会使用新的日期格式 $("#datepicker1").datepicker("setDate", '+1d');
其他排查项
- 确认代码执行顺序,不要在调用
setDate等操作方法之后再传入初始化配置 - 排查页面是否重复加载jQuery、jQuery UI库,避免多实例冲突
- 检查是否有全局通过
$.datepicker.setDefaults()设置的默认日期格式,如有需要可直接修改全局配置,或在局部用option参数覆盖
内容的提问来源于stack exchange,提问作者Gopinath R
相关产品推荐
相关产品推荐

