J'ai juste essayé de faire une entrée de texte avec une date formatée. Cela fonctionne bien sur Google Chrome, mais quand je l'exécute sur Mozilla Firefox (26.0), il dit: Invalid date
.
Vous pouvez voir et exécuter mon exemple dans les deux navigateurs et, espérons-le, comprendre le problème.
Code JS:
$( "#h_reg_date" ).datepicker();
$("#h_reg_date").datepicker("option", "dateFormat", "yy-M-dd");
$("#save_data").on("click", function(){
var reg_date = $("#h_reg_date").val();
console.log(reg_date);
reg_date = moment(reg_date).format("YYYY/MM/DD");
console.log(reg_date);
return;
});
HTML:
<input type="text" id="h_reg_date"class="abs" style="top:135px; left:150px;" size="10" readonly >
<input type="button" id="save_data" class="abs" style="top:370px; left:-200px;" value="Add Data">
Y-a t'il une solution à ce problème?
Modifiez le format de datepicker
en:
$("#h_reg_date").datepicker("option", "dateFormat", "yy/mm/dd");
JS Fiddle: http://jsfiddle.net/MMm86/1/
Pour mettre la date dans le format demandé, utilisez:
$( "#h_reg_date" ).datepicker();
$("#h_reg_date").datepicker("option", "dateFormat", "yy/M/dd");
$("#save_data").on("click", function(){
var reg_date = $("#h_reg_date").val();
console.log(reg_date);
reg_date = moment(reg_date).format("YYYY/MMM/DD");
console.log(reg_date);
return;
});
JS Fiddle: http://jsfiddle.net/MMm86/2/
Supposons que votre date soit au format 'DD-MM-YYYY' et que vous souhaitiez l'afficher au format DD-MMM, vous pouvez le faire en indiquant d'abord la fonction moment à quel format votre date est actuellement, puis en lui demandant de la convertir au format requis . Voici l'exemple:
var taskDueDate = moment(dueDate, 'DD-MM-YYYY').format('DD-MMM');
De cette façon, vous pouvez convertir votre date dans n'importe quel format.
Cela semble être un problème connu, selon leurs documents. http://momentjs.com/docs/#/parsing/string/
On dirait qu'ils suggèrent de passer la chaîne de temps et le format.