Voici mon code:
$(function () {
$("#datepicker").datepicker({ dateFormat: 'DD-MM-YY' });
});
Et le sélecteur de date/heure est affiché, mais au format mm/jj/aaaa. Pourquoi ça ne marche pas?
essayez ceci
$(".datepicker").datepicker({dateFormat: 'dd-mm-yy'});
petite lettre va travailler
Thats la valeur par défaut, ce qui signifie qu'il ne reconnaît pas votre option.
essayer:
dateFormat: 'dd-mm-yy'
(petites lettres)
Définir le format par défaut résoudra le problème, cette solution fonctionne pour moi alors que tout ce qui précède ne le fait pas.
$.datepicker.setDefaults({
dateFormat: 'yy-mm-dd'
});
Selon la version de datepicker utilisée, le format correct peut être:
$('#datepicker').datepicker({ format: 'yyyy-mm-dd' });
Voir ce lien Jsfiddle qui fonctionne exemple pour moi:
Exemple complet:
En jsp:
<div id="datepicker"></div>
En script:
function datepicker() {
$("#datepicker").datepicker({
showButtonPanel: true,
dateFormat: 'yy-mm-dd',
onSelect: function() {
var dateObject = $('#datepicker').datepicker().val();
alert(dateObject);
}
}
);
}
Si vous obtenez la valeur de date par défaut de votre infrastructure/service backend, c.-à-d. Asp.Net MVC
, définir le dateFormat
lorsque vous lancez le datepicker
de votre entrée ne formate pas la date initialement.
$(function() {
$('#date-start').datepicker({
dateFormat: 'mm/dd/yy',
onSelect: function(startDate) {
...
}
});
});
La capture d'écran ci-dessus montre que, même si je suis en train d'initialiser l'entrée avec une date courte telle que 03/15/2018
, le datepicker
ne prendra pas le format initialement. Toutes les sélections après le travail comme prévu.
Le correctif est que vous devez définir l'option dateFormat
manuellement après l'initialisation 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');
});
celui-ci fonctionne pour moi
$('#datepicker').datepicker({ format: 'dd-mm-yyyy' });
Essaye ça:
$(function() {
$('#datepicker').datepicker({
dateFormat: 'dd/mm/yy',
}).datepicker('option', 'dateFormat', 'dd/mm/yy');
});
Cela fonctionne à 100%.