这是我的代码:
$(function () {
$("#datepicker").datepicker({ dateFormat: 'DD-MM-YY' });
});
显示日期时间选择器,但格式为mm / dd / yyyy。为什么不起作用?
答案 0 :(得分:11)
这是默认值,这意味着它无法识别您的选项。
尝试:
dateFormat: 'dd-mm-yy'
(小写字母)
答案 1 :(得分:9)
试试这个
$(".datepicker").datepicker({dateFormat: 'dd-mm-yy'});
小写字母将起作用
答案 2 :(得分:8)
设置默认格式将解决问题,此解决方案适用于我,而以上所有都不适用。
$.datepicker.setDefaults({
dateFormat: 'yy-mm-dd'
});
答案 3 :(得分:8)
根据所使用的日期选择器的版本,正确的格式可能是:
$('#datepicker').datepicker({ format: 'yyyy-mm-dd' });
答案 4 :(得分:2)
请参阅此Jsfiddle链接,该链接对我来说非常有用:
答案 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) {
...
}
});
});
上面的屏幕快照显示,即使我使用诸如03/15/2018
之类的短日期初始化输入,datepicker
最初也不会采用这种格式。工作后所有选择均按预期进行。
解决方法是您必须在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' })
}