Я сделал отладку, и это ваша проблема:
var dateTimeFormat = 'j F Y G \h i \m\i\n';
Возможно, вы захотите заменить \n
хотя бы на n
, но весь этот формат мне кажется недействительным.
Проблема возникла из-за того, что плагин создает код как sting из формата, а затем вызывает eval()
, что, очевидно, является плохой практикой. И когда вы передаете \n
как часть вашего формата, он преобразуется в ↵
(разрыв строки). И это повреждает код, так как он находится в строке, например:
Date.prototype.format2 = function() { ... + '
';}
Я бы порекомендовал вам использовать обновленную версию этой библиотеки (возможно, они исправили ее): https://xdsoft.net/jqplugins/datetimepicker/
И рассмотрите возможность перехода на более распространенный формат даты, например Y/m/d H:i
.
Я не смог найти документацию по форматированию для вашего плагина, поэтому вы можете по крайней мере проверить источник, чтобы увидеть все доступные буквы, которые вы можете использовать в вашем dateTimeFormat:
Date.getFormatCode = function(a) {
switch (a) {
case "d":
return "String.leftPad(this.getDate(), 2, '0') + ";
case "D":
return "Date.dayNames[this.getDay()].substring(0, 3) + ";
case "j":
return "this.getDate() + ";
case "l":
return "Date.dayNames[this.getDay()] + ";
case "S":
return "this.getSuffix() + ";
case "w":
return "this.getDay() + ";
case "z":
return "this.getDayOfYear() + ";
case "W":
return "this.getWeekOfYear() + ";
case "F":
return "Date.monthNames[this.getMonth()] + ";
case "m":
return "String.leftPad(this.getMonth() + 1, 2, '0') + ";
case "M":
return "Date.monthNames[this.getMonth()].substring(0, 3) + ";
case "n":
return "(this.getMonth() + 1) + ";
case "t":
return "this.getDaysInMonth() + ";
case "L":
return "(this.isLeapYear() ? 1 : 0) + ";
case "Y":
return "this.getFullYear() + ";
case "y":
return "('' + this.getFullYear()).substring(2, 4) + ";
case "a":
return "(this.getHours() < 12 ? 'am' : 'pm') + ";
case "A":
return "(this.getHours() < 12 ? 'AM' : 'PM') + ";
case "g":
return "((this.getHours() %12) ? this.getHours() % 12 : 12) + ";
case "G":
return "this.getHours() + ";
case "h":
return "String.leftPad((this.getHours() %12) ? this.getHours() % 12 : 12, 2, '0') + ";
case "H":
return "String.leftPad(this.getHours(), 2, '0') + ";
case "i":
return "String.leftPad(this.getMinutes(), 2, '0') + ";
case "s":
return "String.leftPad(this.getSeconds(), 2, '0') + ";
case "O":
return "this.getGMTOffset() + ";
case "T":
return "this.getTimezone() + ";
case "Z":
return "(this.getTimezoneOffset() * -60) + ";
default:
return "'" + String.escape(a) + "' + ";
}
}
Кроме того, похоже, что у вас есть некоторые проблемы с кодировкой вашего js-файла, вы должны проверить это и переключиться на UTF-8, вероятно. Но это выходит за рамки вопроса.
А пока просто измените переменную dateTimeFormat
на странице индекса.