【发布时间】:2012-04-10 21:26:48
【问题描述】:
这是我的代码:
$(function () {
$("#datepicker").datepicker({ dateFormat: 'DD-MM-YY' });
});
显示日期时间选择器,但格式为 mm/dd/yyyy。为什么它不起作用?
【问题讨论】:
标签: jquery datepicker
这是我的代码:
$(function () {
$("#datepicker").datepicker({ dateFormat: 'DD-MM-YY' });
});
显示日期时间选择器,但格式为 mm/dd/yyyy。为什么它不起作用?
【问题讨论】:
标签: jquery datepicker
只尝试 format 选项而不是 dateFormat
$('#datepicker').datepicker({
format: 'dd-mm-yyyy'
});
【讨论】:
根据使用的日期选择器版本,正确的格式可能是:
$('#datepicker').datepicker({ format: 'yyyy-mm-dd' });
【讨论】:
试试这个
$(".datepicker").datepicker({dateFormat: 'dd-mm-yy'});
小写字母可以使用
【讨论】:
这是默认设置,这意味着它无法识别您的选项。
尝试:
dateFormat: 'dd-mm-yy'
(小写字母)
【讨论】:
设置默认格式会解决问题,这个解决方案对我有用,而以上所有方法都没有。
$.datepicker.setDefaults({
dateFormat: 'yy-mm-dd'
});
【讨论】:
查看这个对我有用的 Jsfiddle 链接:
【讨论】:
完整示例:
在jsp中:
<div id="datepicker"></div>
在脚本中:
function datepicker() {
$("#datepicker").datepicker({
showButtonPanel: true,
dateFormat: 'yy-mm-dd',
onSelect: function() {
var dateObject = $('#datepicker').datepicker().val();
alert(dateObject);
}
}
);
}
【讨论】:
这个对我有用
$('#datepicker').datepicker({ format: 'dd-mm-yyyy' });
【讨论】:
如果您从后端框架/服务获取默认日期值,即Asp.Net MVC,则在您对输入启动datepicker 时设置dateFormat 最初不会格式化日期。
$(function() {
$('#date-start').datepicker({
dateFormat: 'mm/dd/yy',
onSelect: function(startDate) {
...
}
});
});
上面的截图显示,即使我用像03/15/2018 这样的短日期初始化输入,datepicker 最初也不会选择格式。之后的所有选择都会按预期工作。
解决方法是您必须在 datepicker 初始化之后手动设置 dateFormat 选项:
$(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');
});
【讨论】:
$('.datepicker').datepicker({
format: 'dd-mm-yyyy',
autoclose: true
})
【讨论】:
试试这个:
$(function() {
$('#datepicker').datepicker({
dateFormat: 'dd/mm/yy',
}).datepicker('option', 'dateFormat', 'dd/mm/yy');
});
100% 有效。
【讨论】:
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"
});
【讨论】:
我有类似的问题: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。也许这个选项不能被默认覆盖。
工作解决方案:从setDefaults 中删除dateFormat 并在初始化日期选择器时设置它:
activate: function(event) {
this.initialize()
$('input.datepicker').datepicker({ dateFormat: 'dd.mm.yy' })
}
【讨论】:
设置默认格式会解决问题,这个解决方案对我有用,而以上所有方法都没有。
$.datepicker.setDefaults({ 日期格式:'yy-mm-dd' });
感谢此代码对我有用
【讨论】: