Я использую Datepicker для выбора даты и функцию для преобразования стиля даты в требуемый формат. Текущий формат, который требуется при выборе, использует dd-mm-yyyy
ИЛИ 20-03-2020
. (Стиль моей страны) Хотя формат, который требуется отправить в API с использованием Ajax, равен yyyy-mm-dd
ИЛИ 2020-03-20
. Поэтому перед преобразованием необходимо выполнить преобразование.
Во время выбора я использую Datepicker с format: "dd-mm-yyyy",
, как показано ниже. Я также смог преобразовать дату из dd-mm-yyyy
в yyyy-mm-dd
, используя функцию, показанную ниже.
НО, NaN-NaN-NaN
ошибка появляется (console.log) во время отправки. Как это исправить?
HTML
<input type="text" class="form-control" id="actualDate"></input>
DATEPICKER
$('#actualDate').datepicker({
language: 'en',
format: "dd-mm-yyyy",
clearButton: true,
toggleSelected: true,
autoclose: true,
todayHighlight: true,
ignoreReadonly: true,
});
JS Функция
$.ajax({
url : url_projectList + '/1st_api',
crossDomain: true,
type : 'POST',
dataType : 'json',
data: JSON.stringify({project_id: id}),
success: function(response){
var actualDate = $('#actualDate').val();
if ($("#actualDate").val() == ""){
var actual_date = null; // This is working fine
} else {
actual_date = sendDate(actualDate); // Here is the error coming
}
console.log(actual_date) // I got NaN-NaN-NaN
$.ajax({
url : url_projectList + '/2nd_api',
type : 'POST',
dataType : 'json',
data: params,
});
}
});
function sendDate(input_date){
proc_date = new Date(input_date)
year = proc_date.getYear() + 1900
month = proc_date.getMonth() + 1
day = proc_date.getDate()
if (month < 10)
{
month = "0" + month;
}
if (day < 10)
{
day = "0" + day;
}
return year +"-"+ month +"-"+ day;
}