Datejs возвращает объект JavaScript Date
.Этот объект предназначен для представления момента времени, а момент времени обязательно включает месяц и день.Если не указано, Datejs по умолчанию использует эти значения для текущего месяца и дня.Если вы не хотите отображать эту информацию, измените ваш шаблон форматирования:
var d1 = Date.parse('1984');
console.log(d1.toString('yyyy')); // prints 1984
Если вам нужно изменить шаблон на основе того, что изначально вводил пользователь, вам нужно сохранить эту информацию, поэтомучто вы знаете, что печатать позже.
Ниже приведен простой пример:
function DatePrinter(input) {
var s = input.split("/").length;
this.fmt = ["dd", "MM", "yyyy"].slice(3 - s).reverse().join("-");
this.date = Date.parse(input);
}
DatePrinter.prototype.toString = function() {
return (this.date.toString(this.fmt) + "-00-00").slice(0, 10);
}
Некоторые тесты:
new DatePrinter("02/22/1984").toString() // "1984-02-22"
new DatePrinter("02/1984").toString() // "1984-02-00"
new DatePrinter("1984").toString() // "1984-00-00"